diff options
-rw-r--r-- | OpenSim/Framework/General/Types/RegionInfo.cs | 9 | ||||
-rw-r--r-- | OpenSim/Framework/General/Util.cs | 20 |
2 files changed, 28 insertions, 1 deletions
diff --git a/OpenSim/Framework/General/Types/RegionInfo.cs b/OpenSim/Framework/General/Types/RegionInfo.cs index 57bb398..ef05534 100644 --- a/OpenSim/Framework/General/Types/RegionInfo.cs +++ b/OpenSim/Framework/General/Types/RegionInfo.cs | |||
@@ -207,7 +207,14 @@ namespace OpenSim.Framework.Types | |||
207 | this.m_internalEndPoint.Port = (int)configuration_result; | 207 | this.m_internalEndPoint.Port = (int)configuration_result; |
208 | break; | 208 | break; |
209 | case "external_host_name": | 209 | case "external_host_name": |
210 | this.m_externalHostName = (string)configuration_result; | 210 | if ((string)configuration_result != "SYSTEMIP") |
211 | { | ||
212 | this.m_externalHostName = (string)configuration_result; | ||
213 | } | ||
214 | else | ||
215 | { | ||
216 | this.m_externalHostName = Util.GetLocalHost().ToString(); | ||
217 | } | ||
211 | break; | 218 | break; |
212 | case "terrain_file": | 219 | case "terrain_file": |
213 | this.estateSettings.terrainFile = (string)configuration_result; | 220 | this.estateSettings.terrainFile = (string)configuration_result; |
diff --git a/OpenSim/Framework/General/Util.cs b/OpenSim/Framework/General/Util.cs index bbee4b2..9e687ba 100644 --- a/OpenSim/Framework/General/Util.cs +++ b/OpenSim/Framework/General/Util.cs | |||
@@ -256,6 +256,26 @@ namespace OpenSim.Framework.Utilities | |||
256 | return null; | 256 | return null; |
257 | } | 257 | } |
258 | 258 | ||
259 | public static IPAddress GetLocalHost() | ||
260 | { | ||
261 | string dnsAddress = "localhost"; | ||
262 | |||
263 | IPAddress[] hosts = Dns.GetHostEntry(dnsAddress).AddressList; | ||
264 | |||
265 | foreach (IPAddress host in hosts) | ||
266 | { | ||
267 | if (!IPAddress.IsLoopback(host) && host.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) | ||
268 | { | ||
269 | return host; | ||
270 | } | ||
271 | } | ||
272 | |||
273 | if (hosts.Length > 0) | ||
274 | return hosts[0]; | ||
275 | |||
276 | return null; | ||
277 | } | ||
278 | |||
259 | public Util() | 279 | public Util() |
260 | { | 280 | { |
261 | 281 | ||