aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2011-01-12 17:40:21 +0100
committerMelanie2011-01-12 17:40:21 +0100
commitf59b55d930b4a715d2ea5b99d2b3f5494073b1ae (patch)
tree1ae3bc680fc64c2768996f3caa6e251a7401d82e
parentFix direct item give permissions (diff)
downloadopensim-SC-f59b55d930b4a715d2ea5b99d2b3f5494073b1ae.zip
opensim-SC-f59b55d930b4a715d2ea5b99d2b3f5494073b1ae.tar.gz
opensim-SC-f59b55d930b4a715d2ea5b99d2b3f5494073b1ae.tar.bz2
opensim-SC-f59b55d930b4a715d2ea5b99d2b3f5494073b1ae.tar.xz
Dont' trust the viewer! Fix a permission slam error caused by trusting
the viewer too much.
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs4
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs1
2 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 10e74ea..0163060 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
786 { 786 {
787 rootPart.Name = item.Name; 787 rootPart.Name = item.Name;
788 rootPart.Description = item.Description; 788 rootPart.Description = item.Description;
789 }
790 if ((item.Flags & (uint)InventoryItemFlags.ObjectSlamSale) != 0)
791 {
789 rootPart.ObjectSaleType = item.SaleType; 792 rootPart.ObjectSaleType = item.SaleType;
790 rootPart.SalePrice = item.SalePrice; 793 rootPart.SalePrice = item.SalePrice;
791 } 794 }
792 795
793 group.SetGroup(remoteClient.ActiveGroupId, remoteClient); 796 group.SetGroup(remoteClient.ActiveGroupId, remoteClient);
794 // TODO: Remove the magic number badness 797 // TODO: Remove the magic number badness
798
795 if ((rootPart.OwnerID != item.Owner) || 799 if ((rootPart.OwnerID != item.Owner) ||
796 (item.CurrentPermissions & 16) != 0 || // Magic number 800 (item.CurrentPermissions & 16) != 0 || // Magic number
797 (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0) 801 (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 7216b39..7fa5509 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
308 { 308 {
309 if (UUID.Zero == transactionID) 309 if (UUID.Zero == transactionID)
310 { 310 {
311 item.Flags = itemUpd.Flags;
312 item.Name = itemUpd.Name; 311 item.Name = itemUpd.Name;
313 item.Description = itemUpd.Description; 312 item.Description = itemUpd.Description;
314 if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions)) 313 if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions))