mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 08:55:56 +08:00
add options for regions to ignore age < 18 and payment access control where they don't apply
This commit is contained in:
@@ -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<UUID> l_EstateAccess = new List<UUID>();
|
||||
|
||||
public UUID[] EstateAccess
|
||||
{
|
||||
get { return l_EstateAccess.ToArray(); }
|
||||
@@ -266,13 +263,15 @@ namespace OpenSim.Framework
|
||||
}
|
||||
|
||||
private List<UUID> l_EstateGroups = new List<UUID>();
|
||||
|
||||
public UUID[] EstateGroups
|
||||
{
|
||||
get { return l_EstateGroups.ToArray(); }
|
||||
set { l_EstateGroups = new List<UUID>(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)
|
||||
{
|
||||
|
||||
@@ -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.
|
||||
/// </summary>
|
||||
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<IUserManagement>();
|
||||
|
||||
scene.RegionInfo.EstateSettings.DoDenyMinors = !IgnoreEstateMinorAccessControl;
|
||||
scene.RegionInfo.EstateSettings.DoDenyAnonymous = !IgnoreEstateMinorAccessControl;
|
||||
}
|
||||
|
||||
public void Close()
|
||||
|
||||
Reference in New Issue
Block a user