aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs18
1 files changed, 16 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index ae48c02..dd06be2 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -84,6 +84,7 @@ namespace OpenSim.Region.Framework.Scenes
84 // TODO: need to figure out how allow client agents but deny 84 // TODO: need to figure out how allow client agents but deny
85 // root agents when ACL denies access to root agent 85 // root agents when ACL denies access to root agent
86 public bool m_strictAccessControl = true; 86 public bool m_strictAccessControl = true;
87 public bool m_seeIntoBannedRegion = false;
87 public int MaxUndoCount = 5; 88 public int MaxUndoCount = 5;
88 public bool LoginsDisabled = true; 89 public bool LoginsDisabled = true;
89 public bool LoadingPrims; 90 public bool LoadingPrims;
@@ -683,6 +684,7 @@ namespace OpenSim.Region.Framework.Scenes
683 } 684 }
684 685
685 m_strictAccessControl = startupConfig.GetBoolean("StrictAccessControl", m_strictAccessControl); 686 m_strictAccessControl = startupConfig.GetBoolean("StrictAccessControl", m_strictAccessControl);
687 m_seeIntoBannedRegion = startupConfig.GetBoolean("SeeIntoBannedRegion", m_seeIntoBannedRegion);
686 CombineRegions = startupConfig.GetBoolean("CombineContiguousRegions", false); 688 CombineRegions = startupConfig.GetBoolean("CombineContiguousRegions", false);
687 689
688 m_generateMaptiles = startupConfig.GetBoolean("GenerateMaptiles", true); 690 m_generateMaptiles = startupConfig.GetBoolean("GenerateMaptiles", true);
@@ -3688,7 +3690,7 @@ namespace OpenSim.Region.Framework.Scenes
3688 3690
3689 if (m_regInfo.EstateSettings != null) 3691 if (m_regInfo.EstateSettings != null)
3690 { 3692 {
3691 if (m_regInfo.EstateSettings.IsBanned(agent.AgentID)) 3693 if ((!m_seeIntoBannedRegion) && m_regInfo.EstateSettings.IsBanned(agent.AgentID))
3692 { 3694 {
3693 m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user is on the banlist", 3695 m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user is on the banlist",
3694 agent.AgentID, agent.firstname, agent.lastname, RegionInfo.RegionName); 3696 agent.AgentID, agent.firstname, agent.lastname, RegionInfo.RegionName);
@@ -3878,6 +3880,19 @@ namespace OpenSim.Region.Framework.Scenes
3878 3880
3879 // We have to wait until the viewer contacts this region after receiving EAC. 3881 // We have to wait until the viewer contacts this region after receiving EAC.
3880 // That calls AddNewClient, which finally creates the ScenePresence 3882 // That calls AddNewClient, which finally creates the ScenePresence
3883 if (m_regInfo.EstateSettings.IsBanned(cAgentData.AgentID))
3884 {
3885 m_log.DebugFormat("[SCENE]: Denying root agent entry to {0}: banned", cAgentData.AgentID);
3886 return false;
3887 }
3888
3889 ILandObject nearestParcel = GetNearestAllowedParcel(cAgentData.AgentID, Constants.RegionSize / 2, Constants.RegionSize / 2);
3890 if (nearestParcel == null)
3891 {
3892 m_log.DebugFormat("[SCENE]: Denying root agent entry to {0}: no allowed parcel", cAgentData.AgentID);
3893 return false;
3894 }
3895
3881 int num = m_sceneGraph.GetNumberOfScenePresences(); 3896 int num = m_sceneGraph.GetNumberOfScenePresences();
3882 3897
3883 if (num >= RegionInfo.RegionSettings.AgentLimit) 3898 if (num >= RegionInfo.RegionSettings.AgentLimit)
@@ -4878,7 +4893,6 @@ namespace OpenSim.Region.Framework.Scenes
4878 Vector3 nearestRegionEdgePoint = GetNearestRegionEdgePosition(avatar); 4893 Vector3 nearestRegionEdgePoint = GetNearestRegionEdgePosition(avatar);
4879 //Debug.WriteLine("They are really in a place they don't belong, sending them to: " + nearestRegionEdgePoint.ToString()); 4894 //Debug.WriteLine("They are really in a place they don't belong, sending them to: " + nearestRegionEdgePoint.ToString());
4880 return nearestRegionEdgePoint; 4895 return nearestRegionEdgePoint;
4881 return null;
4882 } 4896 }
4883 4897
4884 private Vector3 GetParcelCenterAtGround(ILandObject parcel) 4898 private Vector3 GetParcelCenterAtGround(ILandObject parcel)