diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index 0699552..85a3d96 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | |||
@@ -34,6 +34,7 @@ using OpenMetaverse; | |||
34 | using OpenMetaverse.StructuredData; | 34 | using OpenMetaverse.StructuredData; |
35 | using log4net; | 35 | using log4net; |
36 | using OpenSim.Framework; | 36 | using OpenSim.Framework; |
37 | using OpenSim.Framework.Client; | ||
37 | using OpenSim.Framework.Communications; | 38 | using OpenSim.Framework.Communications; |
38 | using OpenSim.Framework.Communications.Cache; | 39 | using OpenSim.Framework.Communications.Cache; |
39 | using OpenSim.Framework.Communications.Capabilities; | 40 | using OpenSim.Framework.Communications.Capabilities; |
@@ -306,6 +307,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
306 | IEventQueue eq = avatar.Scene.RequestModuleInterface<IEventQueue>(); | 307 | IEventQueue eq = avatar.Scene.RequestModuleInterface<IEventQueue>(); |
307 | if (eq != null) | 308 | if (eq != null) |
308 | { | 309 | { |
310 | #region IP Translation for NAT | ||
311 | IClientIPEndpoint ipepClient; | ||
312 | if(avatar.ClientView.TryGet(out ipepClient)) | ||
313 | { | ||
314 | endPoint.Address = NetworkUtil.GetIPFor(ipepClient.EndPoint, endPoint.Address); | ||
315 | } | ||
316 | #endregion | ||
317 | |||
309 | eq.EnableSimulator(reg.RegionHandle, endPoint, avatar.UUID); | 318 | eq.EnableSimulator(reg.RegionHandle, endPoint, avatar.UUID); |
310 | eq.EstablishAgentCommunication(avatar.UUID, endPoint, capsPath); | 319 | eq.EstablishAgentCommunication(avatar.UUID, endPoint, capsPath); |
311 | m_log.DebugFormat("[CAPS]: Sending new CAPS seed url {0} to client {1} in region {2}", | 320 | m_log.DebugFormat("[CAPS]: Sending new CAPS seed url {0} to client {1} in region {2}", |
@@ -812,6 +821,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
812 | 821 | ||
813 | if (eq != null) | 822 | if (eq != null) |
814 | { | 823 | { |
824 | #region IP Translation for NAT | ||
825 | IClientIPEndpoint ipepClient; | ||
826 | if (avatar.ClientView.TryGet(out ipepClient)) | ||
827 | { | ||
828 | endPoint.Address = NetworkUtil.GetIPFor(ipepClient.EndPoint, endPoint.Address); | ||
829 | } | ||
830 | #endregion | ||
831 | |||
815 | eq.EnableSimulator(reg.RegionHandle, endPoint, avatar.UUID); | 832 | eq.EnableSimulator(reg.RegionHandle, endPoint, avatar.UUID); |
816 | 833 | ||
817 | // ES makes the client send a UseCircuitCode message to the destination, | 834 | // ES makes the client send a UseCircuitCode message to the destination, |