From f59b55d930b4a715d2ea5b99d2b3f5494073b1ae Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 12 Jan 2011 17:40:21 +0100 Subject: [PATCH] Dont' trust the viewer! Fix a permission slam error caused by trusting the viewer too much. --- .../Framework/InventoryAccess/InventoryAccessModule.cs | 4 ++++ OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 10e74eaf80..0163060eb9 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs @@ -786,12 +786,16 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess { rootPart.Name = item.Name; rootPart.Description = item.Description; + } + if ((item.Flags & (uint)InventoryItemFlags.ObjectSlamSale) != 0) + { rootPart.ObjectSaleType = item.SaleType; rootPart.SalePrice = item.SalePrice; } group.SetGroup(remoteClient.ActiveGroupId, remoteClient); // TODO: Remove the magic number badness + if ((rootPart.OwnerID != item.Owner) || (item.CurrentPermissions & 16) != 0 || // Magic number (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 7216b3968b..7fa5509c56 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -308,7 +308,6 @@ namespace OpenSim.Region.Framework.Scenes { if (UUID.Zero == transactionID) { - item.Flags = itemUpd.Flags; item.Name = itemUpd.Name; item.Description = itemUpd.Description; if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions))