From ddd68a05373662e734a7c72df8fa6c1be7ad2259 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Mon, 1 Sep 2008 12:56:53 +0000 Subject: Mantis #2072 Griefer protection! When running without serverside permissions, let only the owner edit attachments. Having everyone able to do it just isn't right. --- .../Modules/World/Permissions/PermissionsModule.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Environment') diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs index eb078d6..acc88bf 100644 --- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs @@ -659,7 +659,20 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions private bool CanMoveObject(LLUUID objectID, LLUUID moverID, Scene scene) { DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); - if (m_bypassPermissions) return m_bypassPermissionsValue; + if (m_bypassPermissions) + { + SceneObjectPart part = scene.GetSceneObjectPart(objectID); + if (part.OwnerID != moverID) + { + if (part.ParentGroup != null && + part.ParentGroup.RootPart != null) + { + if (part.ParentGroup.RootPart.IsAttachment) + return false; + } + } + return m_bypassPermissionsValue; + } bool permission = GenericObjectPermission(moverID, objectID, true); if (!permission) -- cgit v1.1