diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs index 8212163b27..1b5ebfaafb 100644 --- a/OpenSim/Framework/EstateSettings.cs +++ b/OpenSim/Framework/EstateSettings.cs @@ -224,7 +224,6 @@ namespace OpenSim.Framework } private UUID m_EstateOwner = UUID.Zero; - public UUID EstateOwner { get { return m_EstateOwner; } @@ -232,7 +231,6 @@ namespace OpenSim.Framework } private bool m_DenyMinors = false; - public bool DenyMinors { get { return m_DenyMinors; } @@ -258,7 +256,6 @@ namespace OpenSim.Framework } private List l_EstateAccess = new List(); - public UUID[] EstateAccess { get { return l_EstateAccess.ToArray(); } @@ -266,13 +263,15 @@ namespace OpenSim.Framework } private List l_EstateGroups = new List(); - public UUID[] EstateGroups { get { return l_EstateGroups.ToArray(); } set { l_EstateGroups = new List(value); } } + public bool DoDenyMinors = true; + public bool DoDenyAnonymous = true; + public EstateSettings() { } @@ -380,14 +379,14 @@ namespace OpenSim.Framework if (!HasAccess(avatarID)) { - if (DenyMinors) + if (DoDenyMinors && DenyMinors) { if ((userFlags & 32) == 0) { return true; } } - if (DenyAnonymous) + if (DoDenyAnonymous && DenyAnonymous) { if ((userFlags & 4) == 0) { diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index b7fb52e5fd..95fc741d95 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -64,6 +64,8 @@ namespace OpenSim.Region.CoreModules.World.Estate /// If false, region restart requests from the client are blocked even if they are otherwise legitimate. /// public bool AllowRegionRestartFromClient { get; set; } + public bool IgnoreEstateMinorAccessControl { get; set; } + public bool IgnoreEstatePaymentAccessControl { get; set; } private EstateTerrainXferHandler TerrainUploader; public TelehubManager m_Telehub; @@ -89,7 +91,11 @@ namespace OpenSim.Region.CoreModules.World.Estate IConfig config = source.Configs["EstateManagement"]; if (config != null) + { AllowRegionRestartFromClient = config.GetBoolean("AllowRegionRestartFromClient", true); + IgnoreEstateMinorAccessControl = config.GetBoolean("IgnoreEstateMinorAccessControl", false); + IgnoreEstatePaymentAccessControl = config.GetBoolean("IgnoreEstatePaymentAccessControl", false); + } } public void AddRegion(Scene scene) @@ -118,6 +124,9 @@ namespace OpenSim.Region.CoreModules.World.Estate scene.TriggerEstateSunUpdate(); UserManager = scene.RequestModuleInterface(); + + scene.RegionInfo.EstateSettings.DoDenyMinors = !IgnoreEstateMinorAccessControl; + scene.RegionInfo.EstateSettings.DoDenyAnonymous = !IgnoreEstateMinorAccessControl; } public void Close()