aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
authorKitto Flora2010-11-11 04:51:05 +0000
committerKitto Flora2010-11-11 04:51:05 +0000
commitb2aeea66e36593ccab973240bab43724f577165b (patch)
tree4b7bed905081a7678411f251af260e14261cc545 /OpenSim/Region/Framework/Scenes/Scene.cs
parentFix excessive forward motion and flailing while descending a slope, prevent a... (diff)
parentPrevent teleporting to a region when the egent is banned in all parcels (diff)
downloadopensim-SC-b2aeea66e36593ccab973240bab43724f577165b.zip
opensim-SC-b2aeea66e36593ccab973240bab43724f577165b.tar.gz
opensim-SC-b2aeea66e36593ccab973240bab43724f577165b.tar.bz2
opensim-SC-b2aeea66e36593ccab973240bab43724f577165b.tar.xz
Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor
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)