diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs index 058521362e..f9a2eb4556 100644 --- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs @@ -64,6 +64,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions // Bypasses the permissions engine private bool m_bypassPermissions = false; private bool m_bypassPermissionsValue = true; + private bool m_propagatePermissions = false; private bool m_debugPermissions = false; private bool m_allowGridGods = false; private bool m_RegionOwnerIsGod = false; @@ -144,6 +145,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions m_allowGridGods = myConfig.GetBoolean("allow_grid_gods", false); m_bypassPermissions = !myConfig.GetBoolean("serverside_object_permissions", true); + m_propagatePermissions = myConfig.GetBoolean("propagate_permissions", true); m_RegionOwnerIsGod = myConfig.GetBoolean("region_owner_is_god", true); m_ParcelOwnerIsGod = myConfig.GetBoolean("parcel_owner_is_god", true); @@ -276,7 +278,10 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions public bool PropagatePermissions() { - return false; + if (m_bypassPermissions) + return false; + + return m_propagatePermissions; } public bool BypassPermissions()