From ac79ff8dc605c6b1cee4316e5648902d123206e7 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Sun, 24 May 2009 01:36:13 +0000 Subject: [PATCH] * Adds NAT routing support for MXP Asset Delivery. (This means MXP should be fully NAT compatible.) --- OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs | 11 +++++++++-- OpenSim/Framework/NetworkUtil.cs | 12 ++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs index 2f60810974..7eab7c53ae 100644 --- a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs +++ b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs @@ -450,11 +450,18 @@ namespace OpenSim.Client.MXP.PacketHandler joinResponseMessage.RequestMessageId = joinRequestMessage.MessageId; joinResponseMessage.FailureCode = MxpResponseCodes.SUCCESS; - + joinResponseMessage.BubbleId = joinRequestMessage.BubbleId; joinResponseMessage.ParticipantId = userId.Guid; joinResponseMessage.AvatarId = userId.Guid; - joinResponseMessage.BubbleAssetCacheUrl = "http://"+m_scenes[new UUID(joinRequestMessage.BubbleId)].RegionInfo.ExternalHostName+":"+m_scenes[new UUID(joinRequestMessage.BubbleId)].RegionInfo.HttpPort+"/assets/"; + joinResponseMessage.BubbleAssetCacheUrl = "http://" + + NetworkUtil.GetHostFor(session.RemoteEndPoint.Address, + m_scenes[ + new UUID(joinRequestMessage.BubbleId)]. + RegionInfo. + ExternalHostName) + ":" + + m_scenes[new UUID(joinRequestMessage.BubbleId)].RegionInfo. + HttpPort + "/assets/"; joinResponseMessage.BubbleName = m_scenes[new UUID(joinRequestMessage.BubbleId)].RegionInfo.RegionName; diff --git a/OpenSim/Framework/NetworkUtil.cs b/OpenSim/Framework/NetworkUtil.cs index 328d3bc8b5..3ea5ac5fff 100644 --- a/OpenSim/Framework/NetworkUtil.cs +++ b/OpenSim/Framework/NetworkUtil.cs @@ -31,7 +31,7 @@ namespace OpenSim.Framework { if (host.Equals(user) && host.AddressFamily == AddressFamily.InterNetwork) { - m_log.Info("[NATROUTING] Localhost user detected, sending them '" + host + "' instead of '" + simulator + "'"); + m_log.Info("[NetworkUtil] Localhost user detected, sending them '" + host + "' instead of '" + simulator + "'"); return host; } } @@ -62,7 +62,7 @@ namespace OpenSim.Framework if (valid) { - m_log.Info("[NATROUTING] Local LAN user detected, sending them '" + subnet.Key + "' instead of '" + simulator + "'"); + m_log.Info("[NetworkUtil] Local LAN user detected, sending them '" + subnet.Key + "' instead of '" + simulator + "'"); return subnet.Key; } } @@ -80,7 +80,7 @@ namespace OpenSim.Framework { if (host.AddressFamily == AddressFamily.InterNetworkV6) { - m_log.Info("[NATROUTING] Localhost user detected, sending them '" + host + "' instead of '" + defaultHostname + "'"); + m_log.Info("[NetworkUtil] Localhost user detected, sending them '" + host + "' instead of '" + defaultHostname + "'"); return host; } } @@ -126,7 +126,7 @@ namespace OpenSim.Framework if (valid) { - m_log.Info("[NATROUTING] Local LAN user detected, sending them '" + subnet.Key + "' instead of '" + defaultHostname + "'"); + m_log.Info("[NetworkUtil] Local LAN user detected, sending them '" + subnet.Key + "' instead of '" + defaultHostname + "'"); return subnet.Key; } } @@ -154,10 +154,6 @@ namespace OpenSim.Framework { m_subnets.Add(address.Address, address.IPv4Mask); } - else - { - m_log.Warn("[NetworkUtil] Found IPv4 Address without Subnet Mask!?"); - } } } }