From c81c9e712c1362721f9e887b53a47c3ce4f40455 Mon Sep 17 00:00:00 2001 From: Dr Scofield Date: Tue, 12 May 2009 14:57:42 +0000 Subject: fixing SocketException when IP address cannot be resolved --- .../Region/CoreModules/Agent/IPBan/SceneBanner.cs | 23 ++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/CoreModules/Agent/IPBan/SceneBanner.cs b/OpenSim/Region/CoreModules/Agent/IPBan/SceneBanner.cs index 1d8da46..20a2159 100644 --- a/OpenSim/Region/CoreModules/Agent/IPBan/SceneBanner.cs +++ b/OpenSim/Region/CoreModules/Agent/IPBan/SceneBanner.cs @@ -27,18 +27,25 @@ namespace OpenSim.Region.CoreModules.Agent.IPBan { IPAddress end = ipEndpoint.EndPoint; - IPHostEntry rDNS = Dns.GetHostEntry(end); - foreach (string ban in bans) + try { - if (rDNS.HostName.Contains(ban) || - end.ToString().StartsWith(ban)) + IPHostEntry rDNS = Dns.GetHostEntry(end); + foreach (string ban in bans) { - client.Disconnect("Banned - network \"" + ban + "\" is not allowed to connect to this server."); - m_log.Warn("[IPBAN] Disconnected '" + end + "' due to '" + ban + "' ban."); - return; + if (rDNS.HostName.Contains(ban) || + end.ToString().StartsWith(ban)) + { + client.Disconnect("Banned - network \"" + ban + "\" is not allowed to connect to this server."); + m_log.Warn("[IPBAN] Disconnected '" + end + "' due to '" + ban + "' ban."); + return; + } } } - m_log.Warn("[IPBAN] User '" + end + "' not in any ban lists. Allowing connection."); + catch (System.Net.Sockets.SocketException sex) + { + m_log.WarnFormat("[IPBAN] IP address \"{0}\" cannot be resolved via DNS", end); + } + m_log.WarnFormat("[IPBAN] User \"{0}\" not in any ban lists. Allowing connection.", end); } } } -- cgit v1.1