aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authorMelanie Thielker2009-05-24 16:11:35 +0000
committerMelanie Thielker2009-05-24 16:11:35 +0000
commitf3f7d603675ac15d6397b50591b598aacc932862 (patch)
treec34b79e157ca87266c409a786eba3bdbd4158a60 /OpenSim/Region/CoreModules
parentFixes map image on link-region (HG). (diff)
downloadopensim-SC-f3f7d603675ac15d6397b50591b598aacc932862.zip
opensim-SC-f3f7d603675ac15d6397b50591b598aacc932862.tar.gz
opensim-SC-f3f7d603675ac15d6397b50591b598aacc932862.tar.bz2
opensim-SC-f3f7d603675ac15d6397b50591b598aacc932862.tar.xz
Add a new permissions check for bulk object returns.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandObject.cs3
-rw-r--r--OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs9
2 files changed, 12 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
index ce66e46..ccb3a47 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
@@ -795,6 +795,9 @@ 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
798 lock (primsOverMe) 801 lock (primsOverMe)
799 { 802 {
800 if (type == (uint)ObjectReturnType.Owner) 803 if (type == (uint)ObjectReturnType.Owner)
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index 46a0da2..6beb6d3 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -168,6 +168,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
168 m_scene.Permissions.OnDeleteUserInventory += CanDeleteUserInventory; //NOT YET IMPLEMENTED 168 m_scene.Permissions.OnDeleteUserInventory += CanDeleteUserInventory; //NOT YET IMPLEMENTED
169 169
170 m_scene.Permissions.OnTeleport += CanTeleport; //NOT YET IMPLEMENTED 170 m_scene.Permissions.OnTeleport += CanTeleport; //NOT YET IMPLEMENTED
171 m_scene.Permissions.OnUseObjectReturn += CanUseObjectReturn; //NOT YET IMPLEMENTED
171 172
172 m_scene.AddCommand(this, "bypass permissions", 173 m_scene.AddCommand(this, "bypass permissions",
173 "bypass permissions <true / false>", 174 "bypass permissions <true / false>",
@@ -1523,5 +1524,13 @@ namespace OpenSim.Region.CoreModules.World.Permissions
1523 // You can reset the scripts in any object you can edit 1524 // You can reset the scripts in any object you can edit
1524 return GenericObjectPermission(agentID, prim, false); 1525 return GenericObjectPermission(agentID, prim, false);
1525 } 1526 }
1527
1528 private bool CanUseObjectReturn(ILandObject parcel, uint type, IClientAPI client, Scene scene)
1529 {
1530 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
1531 if (m_bypassPermissions) return m_bypassPermissionsValue;
1532
1533 return GenericParcelPermission(client.AgentId, parcel);
1534 }
1526 } 1535 }
1527} 1536}