From 5cfd84c92427658d88c4b36e1470744babd3d54d Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Sun, 17 May 2009 10:26:00 +0000 Subject: Update svn properties. --- .../Region/CoreModules/Agent/IPBan/IPBanModule.cs | 162 ++++++++++----------- .../Region/CoreModules/Agent/IPBan/SceneBanner.cs | 104 ++++++------- 2 files changed, 133 insertions(+), 133 deletions(-) (limited to 'OpenSim/Region/CoreModules/Agent/IPBan') diff --git a/OpenSim/Region/CoreModules/Agent/IPBan/IPBanModule.cs b/OpenSim/Region/CoreModules/Agent/IPBan/IPBanModule.cs index b904cb0..28e0382 100644 --- a/OpenSim/Region/CoreModules/Agent/IPBan/IPBanModule.cs +++ b/OpenSim/Region/CoreModules/Agent/IPBan/IPBanModule.cs @@ -1,81 +1,81 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; -using Nini.Config; -using OpenSim.Framework; -using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.Framework.Scenes; - -namespace OpenSim.Region.CoreModules.Agent.IPBan -{ - public class IPBanModule : IRegionModule - { - #region Implementation of IRegionModule - - private List m_bans = new List(); - - public void Initialise(Scene scene, IConfigSource source) - { - new SceneBanner(scene, m_bans); - - lock(m_bans) - { - foreach (EstateBan ban in scene.RegionInfo.EstateSettings.EstateBans) - { - if(!String.IsNullOrEmpty(ban.BannedHostIPMask)) - m_bans.Add(ban.BannedHostIPMask); - if (!String.IsNullOrEmpty(ban.BannedHostNameMask)) - m_bans.Add(ban.BannedHostNameMask); - } - } - } - - public void PostInitialise() - { - if(File.Exists("bans.txt")) - { - string[] bans = File.ReadAllLines("bans.txt"); - foreach (string ban in bans) - { - m_bans.Add(ban); - } - } - } - - public void Close() - { - - } - - public string Name - { - get { return "IPBanModule"; } - } - - public bool IsSharedModule - { - get { return true; } - } - - #endregion - - /// - /// Bans all users from the specified network from connecting. - /// DNS bans are in the form "somewhere.com" will block ANY - /// matching domain (including "betasomewhere.com", "beta.somewhere.com", - /// "somewhere.com.beta") - make sure to be reasonably specific in DNS - /// bans. - /// - /// IP address bans match on first characters, so, - /// "127.0.0.1" will ban only that address, - /// "127.0.1" will ban "127.0.10.0" - /// but "127.0.1." will ban only the "127.0.1.*" network - /// - /// See summary for explanation of parameter - public void Ban(string host) - { - m_bans.Add(host); - } - } -} +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using Nini.Config; +using OpenSim.Framework; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; + +namespace OpenSim.Region.CoreModules.Agent.IPBan +{ + public class IPBanModule : IRegionModule + { + #region Implementation of IRegionModule + + private List m_bans = new List(); + + public void Initialise(Scene scene, IConfigSource source) + { + new SceneBanner(scene, m_bans); + + lock(m_bans) + { + foreach (EstateBan ban in scene.RegionInfo.EstateSettings.EstateBans) + { + if(!String.IsNullOrEmpty(ban.BannedHostIPMask)) + m_bans.Add(ban.BannedHostIPMask); + if (!String.IsNullOrEmpty(ban.BannedHostNameMask)) + m_bans.Add(ban.BannedHostNameMask); + } + } + } + + public void PostInitialise() + { + if(File.Exists("bans.txt")) + { + string[] bans = File.ReadAllLines("bans.txt"); + foreach (string ban in bans) + { + m_bans.Add(ban); + } + } + } + + public void Close() + { + + } + + public string Name + { + get { return "IPBanModule"; } + } + + public bool IsSharedModule + { + get { return true; } + } + + #endregion + + /// + /// Bans all users from the specified network from connecting. + /// DNS bans are in the form "somewhere.com" will block ANY + /// matching domain (including "betasomewhere.com", "beta.somewhere.com", + /// "somewhere.com.beta") - make sure to be reasonably specific in DNS + /// bans. + /// + /// IP address bans match on first characters, so, + /// "127.0.0.1" will ban only that address, + /// "127.0.1" will ban "127.0.10.0" + /// but "127.0.1." will ban only the "127.0.1.*" network + /// + /// See summary for explanation of parameter + public void Ban(string host) + { + m_bans.Add(host); + } + } +} diff --git a/OpenSim/Region/CoreModules/Agent/IPBan/SceneBanner.cs b/OpenSim/Region/CoreModules/Agent/IPBan/SceneBanner.cs index 20a2159..a5e9963 100644 --- a/OpenSim/Region/CoreModules/Agent/IPBan/SceneBanner.cs +++ b/OpenSim/Region/CoreModules/Agent/IPBan/SceneBanner.cs @@ -1,52 +1,52 @@ -using System.Collections.Generic; -using System.Net; -using OpenSim.Framework.Client; -using OpenSim.Region.Framework.Scenes; - -namespace OpenSim.Region.CoreModules.Agent.IPBan -{ - internal class SceneBanner - { - private static readonly log4net.ILog m_log - = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); - - private List bans; - private SceneBase m_scene; - public SceneBanner(SceneBase scene, List banList) - { - scene.EventManager.OnClientConnect += EventManager_OnClientConnect; - - bans = banList; - m_scene = scene; - } - - void EventManager_OnClientConnect(IClientCore client) - { - IClientIPEndpoint ipEndpoint; - if(client.TryGet(out ipEndpoint)) - { - IPAddress end = ipEndpoint.EndPoint; - - try - { - IPHostEntry rDNS = Dns.GetHostEntry(end); - foreach (string ban in bans) - { - 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.WarnFormat("[IPBAN] User \"{0}\" not in any ban lists. Allowing connection.", end); - } - } - } -} +using System.Collections.Generic; +using System.Net; +using OpenSim.Framework.Client; +using OpenSim.Region.Framework.Scenes; + +namespace OpenSim.Region.CoreModules.Agent.IPBan +{ + internal class SceneBanner + { + private static readonly log4net.ILog m_log + = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + + private List bans; + private SceneBase m_scene; + public SceneBanner(SceneBase scene, List banList) + { + scene.EventManager.OnClientConnect += EventManager_OnClientConnect; + + bans = banList; + m_scene = scene; + } + + void EventManager_OnClientConnect(IClientCore client) + { + IClientIPEndpoint ipEndpoint; + if(client.TryGet(out ipEndpoint)) + { + IPAddress end = ipEndpoint.EndPoint; + + try + { + IPHostEntry rDNS = Dns.GetHostEntry(end); + foreach (string ban in bans) + { + 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.WarnFormat("[IPBAN] User \"{0}\" not in any ban lists. Allowing connection.", end); + } + } + } +} -- cgit v1.1