diff options
author | Melanie Thielker | 2008-09-01 12:56:53 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-09-01 12:56:53 +0000 |
commit | ddd68a05373662e734a7c72df8fa6c1be7ad2259 (patch) | |
tree | ad42e4301a52ef4a5504f9d92114765d593f82ab /OpenSim | |
parent | compensates profile placement effects of Y hole size on X top shear for circu... (diff) | |
download | opensim-SC-ddd68a05373662e734a7c72df8fa6c1be7ad2259.zip opensim-SC-ddd68a05373662e734a7c72df8fa6c1be7ad2259.tar.gz opensim-SC-ddd68a05373662e734a7c72df8fa6c1be7ad2259.tar.bz2 opensim-SC-ddd68a05373662e734a7c72df8fa6c1be7ad2259.tar.xz |
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.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs | 15 |
1 files changed, 14 insertions, 1 deletions
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 | |||
659 | private bool CanMoveObject(LLUUID objectID, LLUUID moverID, Scene scene) | 659 | private bool CanMoveObject(LLUUID objectID, LLUUID moverID, Scene scene) |
660 | { | 660 | { |
661 | DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); | 661 | DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); |
662 | if (m_bypassPermissions) return m_bypassPermissionsValue; | 662 | if (m_bypassPermissions) |
663 | { | ||
664 | SceneObjectPart part = scene.GetSceneObjectPart(objectID); | ||
665 | if (part.OwnerID != moverID) | ||
666 | { | ||
667 | if (part.ParentGroup != null && | ||
668 | part.ParentGroup.RootPart != null) | ||
669 | { | ||
670 | if (part.ParentGroup.RootPart.IsAttachment) | ||
671 | return false; | ||
672 | } | ||
673 | } | ||
674 | return m_bypassPermissionsValue; | ||
675 | } | ||
663 | 676 | ||
664 | bool permission = GenericObjectPermission(moverID, objectID, true); | 677 | bool permission = GenericObjectPermission(moverID, objectID, true); |
665 | if (!permission) | 678 | if (!permission) |