diff options
author | Melanie | 2012-10-14 17:32:46 +0200 |
---|---|---|
committer | Melanie | 2012-10-14 17:32:46 +0200 |
commit | aba078c93f4966cf6be10fc02228323843b9249e (patch) | |
tree | ab08d081aa69b16757dbd5c67f487527558d12fe /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |
parent | Allow bypassing perms dialog (console only) (diff) | |
download | opensim-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.cs | 28 |
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 | ||