parent
102fbf8422
commit
6e3f934c4b
|
@ -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
|
||||
|
|
|
@ -88,6 +88,7 @@ namespace OpenSim.Services.LLLoginService
|
|||
protected string m_AvatarPicker;
|
||||
protected string m_AllowedClients;
|
||||
protected string m_DeniedClients;
|
||||
protected string m_DeniedMacs;
|
||||
protected string m_MessageUrl;
|
||||
protected string m_DSTZone;
|
||||
protected bool m_allowDuplicatePresences = false;
|
||||
|
@ -134,6 +135,8 @@ namespace OpenSim.Services.LLLoginService
|
|||
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_MessageUrl = m_LoginServerConfig.GetString("MessageUrl", string.Empty);
|
||||
m_DSTZone = m_LoginServerConfig.GetString("DSTZone", "America/Los_Angeles;Pacific Standard Time");
|
||||
|
@ -290,6 +293,8 @@ namespace OpenSim.Services.LLLoginService
|
|||
|
||||
m_log.InfoFormat("[LLOGIN SERVICE]: Login request for {0} {1} at {2} using viewer {3}, channel {4}, IP {5}, Mac {6}, Id0 {7}, Possible LibOMVGridProxy: {8} ",
|
||||
firstName, lastName, startLocation, clientVersion, channel, clientIP.Address.ToString(), mac, id0, LibOMVclient.ToString());
|
||||
|
||||
string curMac = mac.ToString();
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -323,6 +328,17 @@ namespace OpenSim.Services.LLLoginService
|
|||
return LLFailedLoginResponse.LoginBlockedProblem;
|
||||
}
|
||||
}
|
||||
|
||||
if (m_DeniedMacs != string.Empty)
|
||||
{
|
||||
m_log.InfoFormat("[LLOGIN SERVICE]: Checking users Mac {0} against list of denied macs {1} ...", curMac, m_DeniedMacs);
|
||||
if (m_DeniedMacs.Contains(curMac))
|
||||
{
|
||||
m_log.InfoFormat("[LLOGIN SERVICE]: Login failed, reason: client with mac {0} is denied", curMac);
|
||||
return LLFailedLoginResponse.LoginBlockedProblem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Get the account and check that it exists
|
||||
|
|
Loading…
Reference in New Issue