diff options
author | Justin Clark-Casey (justincc) | 2010-10-22 23:52:07 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2010-10-22 23:52:07 +0100 |
commit | fe8d3d5a2bc0ddbc051d8a7ad2412da5f3546075 (patch) | |
tree | e1af6e01bd9be556fe652a32e4ec93c31c80a283 /OpenSim/Region/CoreModules/Framework | |
parent | Merge remote branch 'otakup0pe/mantis5110' (diff) | |
download | opensim-SC_OLD-fe8d3d5a2bc0ddbc051d8a7ad2412da5f3546075.zip opensim-SC_OLD-fe8d3d5a2bc0ddbc051d8a7ad2412da5f3546075.tar.gz opensim-SC_OLD-fe8d3d5a2bc0ddbc051d8a7ad2412da5f3546075.tar.bz2 opensim-SC_OLD-fe8d3d5a2bc0ddbc051d8a7ad2412da5f3546075.tar.xz |
Revert "Merge remote branch 'otakup0pe/mantis5110'"
This reverts commit 21187f459ea2ae590dda4249fa15ebf116d04fe0, reversing
changes made to 8f34e46d7449be1c29419a232a8f7f1e5918f03c.
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 57 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | 5 |
2 files changed, 43 insertions, 19 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 925af3f..38fff1c 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -197,8 +197,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
197 | sp.ControllingClient.SendTeleportFailed("Problem at destination"); | 197 | sp.ControllingClient.SendTeleportFailed("Problem at destination"); |
198 | return; | 198 | return; |
199 | } | 199 | } |
200 | m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Final destination is x={0} y={1} {2}@{3}", | 200 | m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Final destination is x={0} y={1} uuid={2}", |
201 | finalDestination.RegionLocX / Constants.RegionSize, finalDestination.RegionLocY / Constants.RegionSize, finalDestination.RegionID, finalDestination.ServerURI); | 201 | finalDestination.RegionLocX / Constants.RegionSize, finalDestination.RegionLocY / Constants.RegionSize, finalDestination.RegionID); |
202 | 202 | ||
203 | // Check that these are not the same coordinates | 203 | // Check that these are not the same coordinates |
204 | if (finalDestination.RegionLocX == sp.Scene.RegionInfo.RegionLocX && | 204 | if (finalDestination.RegionLocX == sp.Scene.RegionInfo.RegionLocX && |
@@ -254,8 +254,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
254 | } | 254 | } |
255 | 255 | ||
256 | m_log.DebugFormat( | 256 | m_log.DebugFormat( |
257 | "[ENTITY TRANSFER MODULE]: Request Teleport to {0} ({1}) {2}/{3}", | 257 | "[ENTITY TRANSFER MODULE]: Request Teleport to {0}:{1}:{2}/{3}", |
258 | reg.ServerURI, finalDestination.ServerURI, finalDestination.RegionName, position); | 258 | reg.ExternalHostName, reg.HttpPort, finalDestination.RegionName, position); |
259 | 259 | ||
260 | uint newRegionX = (uint)(reg.RegionHandle >> 40); | 260 | uint newRegionX = (uint)(reg.RegionHandle >> 40); |
261 | uint newRegionY = (((uint)(reg.RegionHandle)) >> 8); | 261 | uint newRegionY = (((uint)(reg.RegionHandle)) >> 8); |
@@ -327,21 +327,43 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
327 | 327 | ||
328 | // OK, it got this agent. Let's close some child agents | 328 | // OK, it got this agent. Let's close some child agents |
329 | sp.CloseChildAgents(newRegionX, newRegionY); | 329 | sp.CloseChildAgents(newRegionX, newRegionY); |
330 | IClientIPEndpoint ipepClient; | 330 | |
331 | if (NeedsNewAgent(oldRegionX, newRegionX, oldRegionY, newRegionY)) | 331 | if (NeedsNewAgent(oldRegionX, newRegionX, oldRegionY, newRegionY)) |
332 | { | 332 | { |
333 | //sp.ControllingClient.SendTeleportProgress(teleportFlags, "Creating agent..."); | 333 | //sp.ControllingClient.SendTeleportProgress(teleportFlags, "Creating agent..."); |
334 | |||
334 | #region IP Translation for NAT | 335 | #region IP Translation for NAT |
335 | // Uses ipepClient above | 336 | IClientIPEndpoint ipepClient; |
336 | if (sp.ClientView.TryGet(out ipepClient)) | 337 | if (sp.ClientView.TryGet(out ipepClient)) |
337 | { | 338 | { |
338 | endPoint.Address = NetworkUtil.GetIPFor(ipepClient.EndPoint, endPoint.Address); | 339 | capsPath |
340 | = "http://" | ||
341 | + NetworkUtil.GetHostFor(ipepClient.EndPoint, finalDestination.ExternalHostName) | ||
342 | + ":" | ||
343 | + finalDestination.HttpPort | ||
344 | + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath); | ||
345 | } | ||
346 | else | ||
347 | { | ||
348 | capsPath | ||
349 | = "http://" | ||
350 | + finalDestination.ExternalHostName | ||
351 | + ":" | ||
352 | + finalDestination.HttpPort | ||
353 | + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath); | ||
339 | } | 354 | } |
340 | #endregion | 355 | #endregion |
341 | capsPath = finalDestination.ServerURI + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath); | ||
342 | 356 | ||
343 | if (eq != null) | 357 | if (eq != null) |
344 | { | 358 | { |
359 | #region IP Translation for NAT | ||
360 | // Uses ipepClient above | ||
361 | if (sp.ClientView.TryGet(out ipepClient)) | ||
362 | { | ||
363 | endPoint.Address = NetworkUtil.GetIPFor(ipepClient.EndPoint, endPoint.Address); | ||
364 | } | ||
365 | #endregion | ||
366 | |||
345 | eq.EnableSimulator(destinationHandle, endPoint, sp.UUID); | 367 | eq.EnableSimulator(destinationHandle, endPoint, sp.UUID); |
346 | 368 | ||
347 | // ES makes the client send a UseCircuitCode message to the destination, | 369 | // ES makes the client send a UseCircuitCode message to the destination, |
@@ -360,7 +382,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
360 | else | 382 | else |
361 | { | 383 | { |
362 | agentCircuit.CapsPath = sp.Scene.CapsModule.GetChildSeed(sp.UUID, reg.RegionHandle); | 384 | agentCircuit.CapsPath = sp.Scene.CapsModule.GetChildSeed(sp.UUID, reg.RegionHandle); |
363 | capsPath = finalDestination.ServerURI + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath); | 385 | capsPath = "http://" + finalDestination.ExternalHostName + ":" + finalDestination.HttpPort |
386 | + "/CAPS/" + agentCircuit.CapsPath + "0000/"; | ||
364 | } | 387 | } |
365 | 388 | ||
366 | // Expect avatar crossing is a heavy-duty function at the destination. | 389 | // Expect avatar crossing is a heavy-duty function at the destination. |
@@ -493,8 +516,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
493 | 516 | ||
494 | protected virtual void SetCallbackURL(AgentData agent, RegionInfo region) | 517 | protected virtual void SetCallbackURL(AgentData agent, RegionInfo region) |
495 | { | 518 | { |
496 | agent.CallbackURI = region.ServerURI + "agent/" + agent.AgentID.ToString() + "/" + region.RegionID.ToString() + "/release/"; | 519 | agent.CallbackURI = "http://" + region.ExternalHostName + ":" + region.HttpPort + |
497 | m_log.Debug("Set callback URL to " + agent.CallbackURI); | 520 | "/agent/" + agent.AgentID.ToString() + "/" + region.RegionID.ToString() + "/release/"; |
498 | 521 | ||
499 | } | 522 | } |
500 | 523 | ||
@@ -819,8 +842,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
819 | cAgent.Position = pos; | 842 | cAgent.Position = pos; |
820 | if (isFlying) | 843 | if (isFlying) |
821 | cAgent.ControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY; | 844 | cAgent.ControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY; |
822 | cAgent.CallbackURI = m_scene.RegionInfo.ServerURI + | 845 | cAgent.CallbackURI = "http://" + m_scene.RegionInfo.ExternalHostName + ":" + m_scene.RegionInfo.HttpPort + |
823 | "agent/" + agent.UUID.ToString() + "/" + m_scene.RegionInfo.RegionID.ToString() + "/release/"; | 846 | "/agent/" + agent.UUID.ToString() + "/" + m_scene.RegionInfo.RegionID.ToString() + "/release/"; |
824 | 847 | ||
825 | if (!m_scene.SimulationService.UpdateAgent(neighbourRegion, cAgent)) | 848 | if (!m_scene.SimulationService.UpdateAgent(neighbourRegion, cAgent)) |
826 | { | 849 | { |
@@ -845,7 +868,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
845 | neighbourRegion.RegionHandle); | 868 | neighbourRegion.RegionHandle); |
846 | return agent; | 869 | return agent; |
847 | } | 870 | } |
848 | string capsPath = neighbourRegion.ServerURI + CapsUtil.GetCapsSeedPath(agentcaps); | 871 | // TODO Should construct this behind a method |
872 | string capsPath = | ||
873 | "http://" + neighbourRegion.ExternalHostName + ":" + neighbourRegion.HttpPort | ||
874 | + "/CAPS/" + agentcaps /*circuitdata.CapsPath*/ + "0000/"; | ||
849 | 875 | ||
850 | m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Sending new CAPS seed url {0} to client {1}", capsPath, agent.UUID); | 876 | m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Sending new CAPS seed url {0} to client {1}", capsPath, agent.UUID); |
851 | 877 | ||
@@ -1164,7 +1190,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1164 | y = y / Constants.RegionSize; | 1190 | y = y / Constants.RegionSize; |
1165 | m_log.Info("[ENTITY TRANSFER MODULE]: Starting to inform client about neighbour " + x + ", " + y + "(" + endPoint.ToString() + ")"); | 1191 | m_log.Info("[ENTITY TRANSFER MODULE]: Starting to inform client about neighbour " + x + ", " + y + "(" + endPoint.ToString() + ")"); |
1166 | 1192 | ||
1167 | string capsPath = reg.ServerURI + CapsUtil.GetCapsSeedPath(a.CapsPath); | 1193 | string capsPath = "http://" + reg.ExternalHostName + ":" + reg.HttpPort |
1194 | + "/CAPS/" + a.CapsPath + "0000/"; | ||
1168 | 1195 | ||
1169 | string reason = String.Empty; | 1196 | string reason = String.Empty; |
1170 | 1197 | ||
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index 9a275ae..1ac7508 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | |||
@@ -123,9 +123,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
123 | if ((flags & (int)OpenSim.Data.RegionFlags.Hyperlink) != 0) | 123 | if ((flags & (int)OpenSim.Data.RegionFlags.Hyperlink) != 0) |
124 | { | 124 | { |
125 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Destination region {0} is hyperlink", region.RegionID); | 125 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Destination region {0} is hyperlink", region.RegionID); |
126 | GridRegion real_destination = m_GatekeeperConnector.GetHyperlinkRegion(region, region.RegionID); | 126 | return m_GatekeeperConnector.GetHyperlinkRegion(region, region.RegionID); |
127 | m_log.Debug("GetfinalDestination serveruri -> " + real_destination.ServerURI); | ||
128 | return real_destination; | ||
129 | } | 127 | } |
130 | return region; | 128 | return region; |
131 | } | 129 | } |
@@ -151,7 +149,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
151 | 149 | ||
152 | protected override bool CreateAgent(ScenePresence sp, GridRegion reg, GridRegion finalDestination, AgentCircuitData agentCircuit, uint teleportFlags, out string reason, out bool logout) | 150 | protected override bool CreateAgent(ScenePresence sp, GridRegion reg, GridRegion finalDestination, AgentCircuitData agentCircuit, uint teleportFlags, out string reason, out bool logout) |
153 | { | 151 | { |
154 | m_log.Debug("CreateAgent " + reg.ServerURI + " " + finalDestination.ServerURI); | ||
155 | reason = string.Empty; | 152 | reason = string.Empty; |
156 | logout = false; | 153 | logout = false; |
157 | int flags = m_aScene.GridService.GetRegionFlags(m_aScene.RegionInfo.ScopeID, reg.RegionID); | 154 | int flags = m_aScene.GridService.GetRegionFlags(m_aScene.RegionInfo.ScopeID, reg.RegionID); |