Add option SeeIntoBannedRegion to allow band to act like SL, where you can

see in but not enter. Defaults to false, so no change.
avinationmerge
Melanie 2010-11-09 22:41:40 +01:00
parent ee85a530f6
commit d206721e2f
1 changed files with 9 additions and 1 deletions

View File

@ -84,6 +84,7 @@ namespace OpenSim.Region.Framework.Scenes
// TODO: need to figure out how allow client agents but deny // TODO: need to figure out how allow client agents but deny
// root agents when ACL denies access to root agent // root agents when ACL denies access to root agent
public bool m_strictAccessControl = true; public bool m_strictAccessControl = true;
public bool m_seeIntoBannedRegion = false;
public int MaxUndoCount = 5; public int MaxUndoCount = 5;
public bool LoginsDisabled = true; public bool LoginsDisabled = true;
public bool LoadingPrims; public bool LoadingPrims;
@ -683,6 +684,7 @@ namespace OpenSim.Region.Framework.Scenes
} }
m_strictAccessControl = startupConfig.GetBoolean("StrictAccessControl", m_strictAccessControl); m_strictAccessControl = startupConfig.GetBoolean("StrictAccessControl", m_strictAccessControl);
m_seeIntoBannedRegion = startupConfig.GetBoolean("SeeIntoBannedRegion", m_seeIntoBannedRegion);
CombineRegions = startupConfig.GetBoolean("CombineContiguousRegions", false); CombineRegions = startupConfig.GetBoolean("CombineContiguousRegions", false);
m_generateMaptiles = startupConfig.GetBoolean("GenerateMaptiles", true); m_generateMaptiles = startupConfig.GetBoolean("GenerateMaptiles", true);
@ -3688,7 +3690,7 @@ namespace OpenSim.Region.Framework.Scenes
if (m_regInfo.EstateSettings != null) if (m_regInfo.EstateSettings != null)
{ {
if (m_regInfo.EstateSettings.IsBanned(agent.AgentID)) if ((!m_seeIntoBannedRegion) && m_regInfo.EstateSettings.IsBanned(agent.AgentID))
{ {
m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user is on the banlist", m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user is on the banlist",
agent.AgentID, agent.firstname, agent.lastname, RegionInfo.RegionName); agent.AgentID, agent.firstname, agent.lastname, RegionInfo.RegionName);
@ -3878,6 +3880,12 @@ namespace OpenSim.Region.Framework.Scenes
// We have to wait until the viewer contacts this region after receiving EAC. // We have to wait until the viewer contacts this region after receiving EAC.
// That calls AddNewClient, which finally creates the ScenePresence // That calls AddNewClient, which finally creates the ScenePresence
if (m_regInfo.EstateSettings.IsBanned(cAgentData.AgentID))
{
m_log.DebugFormat("[SCENE]: Denying root agent entry to {0}: banned", cAgentData.AgentID);
return false;
}
int num = m_sceneGraph.GetNumberOfScenePresences(); int num = m_sceneGraph.GetNumberOfScenePresences();
if (num >= RegionInfo.RegionSettings.AgentLimit) if (num >= RegionInfo.RegionSettings.AgentLimit)