Add mac banning

Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
This commit is contained in:
Vincent Sylvester
2018-04-24 20:57:38 +02:00
committed by UbitUmarov
parent 102fbf8422
commit 6e3f934c4b
2 changed files with 32 additions and 0 deletions

View File

@@ -62,6 +62,7 @@ namespace OpenSim.Services.HypergridService
private static string m_AllowedClients = string.Empty;
private static string m_DeniedClients = string.Empty;
private static string m_DeniedMacs = string.Empty;
private static bool m_ForeignAgentsAllowed = true;
private static List<string> m_ForeignsAllowedExceptions = new List<string>();
private static List<string> m_ForeignsDisallowedExceptions = new List<string>();
@@ -137,6 +138,8 @@ namespace OpenSim.Services.HypergridService
config, "AllowedClients", possibleAccessControlConfigSections, string.Empty);
m_DeniedClients = Util.GetConfigVarFromSections<string>(
config, "DeniedClients", possibleAccessControlConfigSections, string.Empty);
m_DeniedMacs = Util.GetConfigVarFromSections<string>(
config, "DeniedMacs", possibleAccessControlConfigSections, string.Empty);
m_ForeignAgentsAllowed = serverConfig.GetBoolean("ForeignAgentsAllowed", true);
LoadDomainExceptionsFromConfig(serverConfig, "AllowExcept", m_ForeignsAllowedExceptions);
@@ -275,6 +278,8 @@ namespace OpenSim.Services.HypergridService
(source == null) ? "Unknown" : string.Format("{0} ({1}){2}", source.RegionName, source.RegionID, (source.RawServerURI == null) ? "" : " @ " + source.ServerURI));
string curViewer = Util.GetViewerName(aCircuit);
string curMac = aCircuit.Mac.ToString();
//
// Check client
@@ -304,6 +309,17 @@ namespace OpenSim.Services.HypergridService
return false;
}
}
if (m_DeniedMacs != string.Empty)
{
m_log.InfoFormat("[GATEKEEPER SERVICE]: Checking users Mac {0} against list of denied macs {1} ...", curMac, m_DeniedMacs);
if (m_DeniedMacs.Contains(curMac))
{
reason = "Login failed: client with Mac " + curMac + " is denied";
m_log.InfoFormat("[GATEKEEPER SERVICE]: Login failed, reason: client with mac {0} is denied", curMac);
return false;
}
}
//
// Authenticate the user