aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs18
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs2
2 files changed, 17 insertions, 3 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)
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index f20eb33..fd23ed2 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1272,7 +1272,7 @@ namespace OpenSim.Region.Framework.Scenes
1272 1272
1273 m_log.DebugFormat( 1273 m_log.DebugFormat(
1274 "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", 1274 "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms",
1275 client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds); 1275 client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds);
1276 } 1276 }
1277 1277
1278 /// <summary> 1278 /// <summary>