diff options
author | Melanie Thielker | 2009-05-24 17:20:47 +0000 |
---|---|---|
committer | Melanie Thielker | 2009-05-24 17:20:47 +0000 |
commit | ca75c101ecf908bdbf6a7993082d77ae6ed9518c (patch) | |
tree | 9b9fe7d608fb5f72cd689789eb97789fefc817df /OpenSim/Region/CoreModules | |
parent | Make group permissions control what a user can return. (diff) | |
download | opensim-SC-ca75c101ecf908bdbf6a7993082d77ae6ed9518c.zip opensim-SC-ca75c101ecf908bdbf6a7993082d77ae6ed9518c.tar.gz opensim-SC-ca75c101ecf908bdbf6a7993082d77ae6ed9518c.tar.bz2 opensim-SC-ca75c101ecf908bdbf6a7993082d77ae6ed9518c.tar.xz |
Allow the perms module to inspect and modify the list of objects to return
for more fine-grained control
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Land/LandObject.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index ccb3a47..414d1a5 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs | |||
@@ -795,9 +795,6 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
795 | Dictionary<UUID,List<SceneObjectGroup>> returns = | 795 | Dictionary<UUID,List<SceneObjectGroup>> returns = |
796 | new Dictionary<UUID,List<SceneObjectGroup>>(); | 796 | new Dictionary<UUID,List<SceneObjectGroup>>(); |
797 | 797 | ||
798 | if (!m_scene.Permissions.CanUseObjectReturn(this, type, remote_client)) | ||
799 | return; | ||
800 | |||
801 | lock (primsOverMe) | 798 | lock (primsOverMe) |
802 | { | 799 | { |
803 | if (type == (uint)ObjectReturnType.Owner) | 800 | if (type == (uint)ObjectReturnType.Owner) |
@@ -859,7 +856,10 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
859 | } | 856 | } |
860 | 857 | ||
861 | foreach (List<SceneObjectGroup> ol in returns.Values) | 858 | foreach (List<SceneObjectGroup> ol in returns.Values) |
862 | m_scene.returnObjects(ol.ToArray(), remote_client.AgentId); | 859 | { |
860 | if (m_scene.Permissions.CanUseObjectReturn(this, type, remote_client, ol)) | ||
861 | m_scene.returnObjects(ol.ToArray(), remote_client.AgentId); | ||
862 | } | ||
863 | } | 863 | } |
864 | 864 | ||
865 | #endregion | 865 | #endregion |
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index 33b9288..ff57192 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs | |||
@@ -1525,7 +1525,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
1525 | return GenericObjectPermission(agentID, prim, false); | 1525 | return GenericObjectPermission(agentID, prim, false); |
1526 | } | 1526 | } |
1527 | 1527 | ||
1528 | private bool CanUseObjectReturn(ILandObject parcel, uint type, IClientAPI client, Scene scene) | 1528 | private bool CanUseObjectReturn(ILandObject parcel, uint type, IClientAPI client, List<SceneObjectGroup> retlist, Scene scene) |
1529 | { | 1529 | { |
1530 | DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); | 1530 | DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); |
1531 | if (m_bypassPermissions) return m_bypassPermissionsValue; | 1531 | if (m_bypassPermissions) return m_bypassPermissionsValue; |