aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorMelanie2012-10-14 17:32:46 +0200
committerMelanie2012-10-14 17:32:46 +0200
commitaba078c93f4966cf6be10fc02228323843b9249e (patch)
treeab08d081aa69b16757dbd5c67f487527558d12fe /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
parentAllow bypassing perms dialog (console only) (diff)
downloadopensim-SC-aba078c93f4966cf6be10fc02228323843b9249e.zip
opensim-SC-aba078c93f4966cf6be10fc02228323843b9249e.tar.gz
opensim-SC-aba078c93f4966cf6be10fc02228323843b9249e.tar.bz2
opensim-SC-aba078c93f4966cf6be10fc02228323843b9249e.tar.xz
Fix perms when linking an object. Set root part perms to the perms
of the link set to make the build floater behave consistently. Fixes permissions exploit introduced on 23 August.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs28
1 files changed, 14 insertions, 14 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index c2d4764..3274cbd 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -4497,20 +4497,20 @@ namespace OpenSim.Region.Framework.Scenes
4497 { 4497 {
4498 bool update = false; 4498 bool update = false;
4499 4499
4500 if (BaseMask != source.BaseMask || 4500 uint prevOwnerMask = OwnerMask;
4501 OwnerMask != source.OwnerMask || 4501 uint prevGroupMask = GroupMask;
4502 GroupMask != source.GroupMask || 4502 uint prevEveryoneMask = EveryoneMask;
4503 EveryoneMask != source.EveryoneMask || 4503 uint prevNextOwnerMask = NextOwnerMask;
4504 NextOwnerMask != source.NextOwnerMask) 4504
4505 update = true; 4505 OwnerMask = source.OwnerMask & BaseMask;
4506 4506 GroupMask = source.GroupMask & BaseMask;
4507 BaseMask = source.BaseMask; 4507 EveryoneMask = source.EveryoneMask & BaseMask;
4508 OwnerMask = source.OwnerMask; 4508 NextOwnerMask = source.NextOwnerMask & BaseMask;
4509 GroupMask = source.GroupMask; 4509
4510 EveryoneMask = source.EveryoneMask; 4510 if (OwnerMask != prevOwnerMask ||
4511 NextOwnerMask = source.NextOwnerMask; 4511 GroupMask != prevGroupMask ||
4512 4512 EveryoneMask != prevEveryoneMask ||
4513 if (update) 4513 NextOwnerMask != prevNextOwnerMask)
4514 SendFullUpdateToAllClients(); 4514 SendFullUpdateToAllClients();
4515 } 4515 }
4516 4516