Thank you, StrawberryFride, for a patch to fix SceneBan behavior.
Applied with changes (commented the logging entirely, since Linux defaults to debug level) Fixes Mantis #36890.6.6-post-fixes
							parent
							
								
									a3fed17956
								
							
						
					
					
						commit
						20383a61b8
					
				| 
						 | 
				
			
			@ -34,7 +34,7 @@ namespace OpenSim.Region.CoreModules.Agent.IPBan
 | 
			
		|||
{
 | 
			
		||||
    internal class SceneBanner
 | 
			
		||||
    {
 | 
			
		||||
                private static readonly log4net.ILog m_log
 | 
			
		||||
        private static readonly log4net.ILog m_log
 | 
			
		||||
                    = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
 | 
			
		||||
 | 
			
		||||
        private List<string> bans;
 | 
			
		||||
| 
						 | 
				
			
			@ -49,30 +49,34 @@ namespace OpenSim.Region.CoreModules.Agent.IPBan
 | 
			
		|||
 | 
			
		||||
        void EventManager_OnClientConnect(IClientCore client)
 | 
			
		||||
        {
 | 
			
		||||
            IClientIPEndpoint ipEndpoint;
 | 
			
		||||
            if (client.TryGet(out ipEndpoint))
 | 
			
		||||
            {
 | 
			
		||||
                IPAddress end = ipEndpoint.EndPoint;
 | 
			
		||||
 | 
			
		||||
                try
 | 
			
		||||
            // Only need to run through all this if there are entries in the ban list
 | 
			
		||||
            if (bans.Count > 0)
 | 
			
		||||
            {                
 | 
			
		||||
                IClientIPEndpoint ipEndpoint;
 | 
			
		||||
                if (client.TryGet(out ipEndpoint))
 | 
			
		||||
                {
 | 
			
		||||
                    IPHostEntry rDNS = Dns.GetHostEntry(end);
 | 
			
		||||
                    foreach (string ban in bans)
 | 
			
		||||
                    IPAddress end = ipEndpoint.EndPoint;
 | 
			
		||||
 | 
			
		||||
                    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;
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    catch (System.Net.Sockets.SocketException sex)
 | 
			
		||||
                    {
 | 
			
		||||
                        m_log.WarnFormat("[IPBAN] IP address \"{0}\" cannot be resolved via DNS", end);
 | 
			
		||||
                    }
 | 
			
		||||
                    // m_log.DebugFormat("[IPBAN] User \"{0}\" not in any ban lists. Allowing connection.", end);
 | 
			
		||||
                }
 | 
			
		||||
                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);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue