diff options
author | Adam Frisby | 2009-05-23 05:44:18 +0000 |
---|---|---|
committer | Adam Frisby | 2009-05-23 05:44:18 +0000 |
commit | 3b1b3ac9bbd77796a55bcc75d08f78bff5ca78af (patch) | |
tree | 3f9694631e41a4daf4465fea4a35bb966805d362 /OpenSim/Region/Framework/Scenes/Hypergrid/HGSceneCommunicationService.cs | |
parent | * NetworkUtil now handles an error case in a way which is easier to debug. (diff) | |
download | opensim-SC-3b1b3ac9bbd77796a55bcc75d08f78bff5ca78af.zip opensim-SC-3b1b3ac9bbd77796a55bcc75d08f78bff5ca78af.tar.gz opensim-SC-3b1b3ac9bbd77796a55bcc75d08f78bff5ca78af.tar.bz2 opensim-SC-3b1b3ac9bbd77796a55bcc75d08f78bff5ca78af.tar.xz |
* Breaks OpenSim.. err I mean.. adds NAT translation support to EnableSimulator EventQueue methods.
* NB: This may actually break logins on certain regions. Shake well before consuming.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Hypergrid/HGSceneCommunicationService.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Hypergrid/HGSceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/Hypergrid/HGSceneCommunicationService.cs index 542e7d0..7d55cc8 100644 --- a/OpenSim/Region/Framework/Scenes/Hypergrid/HGSceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/Hypergrid/HGSceneCommunicationService.cs | |||
@@ -33,6 +33,7 @@ using System.Threading; | |||
33 | using log4net; | 33 | using log4net; |
34 | using OpenMetaverse; | 34 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 35 | using OpenSim.Framework; |
36 | using OpenSim.Framework.Client; | ||
36 | using OpenSim.Framework.Communications; | 37 | using OpenSim.Framework.Communications; |
37 | using OpenSim.Framework.Communications.Cache; | 38 | using OpenSim.Framework.Communications.Cache; |
38 | using OpenSim.Framework.Communications.Capabilities; | 39 | using OpenSim.Framework.Communications.Capabilities; |
@@ -211,6 +212,14 @@ namespace OpenSim.Region.Framework.Scenes.Hypergrid | |||
211 | 212 | ||
212 | if (eq != null) | 213 | if (eq != null) |
213 | { | 214 | { |
215 | #region IP Translation for NAT | ||
216 | IClientIPEndpoint ipepClient; | ||
217 | if (avatar.ClientView.TryGet(out ipepClient)) | ||
218 | { | ||
219 | endPoint.Address = NetworkUtil.GetIPFor(ipepClient.EndPoint, endPoint.Address); | ||
220 | } | ||
221 | #endregion | ||
222 | |||
214 | eq.EnableSimulator(realHandle, endPoint, avatar.UUID); | 223 | eq.EnableSimulator(realHandle, endPoint, avatar.UUID); |
215 | 224 | ||
216 | // ES makes the client send a UseCircuitCode message to the destination, | 225 | // ES makes the client send a UseCircuitCode message to the destination, |