Dont' trust the viewer! Fix a permission slam error caused by trusting

the viewer too much.
avinationmerge
Melanie 2011-01-12 17:40:21 +01:00
parent 7f99a8c900
commit f59b55d930
2 changed files with 4 additions and 1 deletions

View File

@ -786,12 +786,16 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
{ {
rootPart.Name = item.Name; rootPart.Name = item.Name;
rootPart.Description = item.Description; rootPart.Description = item.Description;
}
if ((item.Flags & (uint)InventoryItemFlags.ObjectSlamSale) != 0)
{
rootPart.ObjectSaleType = item.SaleType; rootPart.ObjectSaleType = item.SaleType;
rootPart.SalePrice = item.SalePrice; rootPart.SalePrice = item.SalePrice;
} }
group.SetGroup(remoteClient.ActiveGroupId, remoteClient); group.SetGroup(remoteClient.ActiveGroupId, remoteClient);
// TODO: Remove the magic number badness // TODO: Remove the magic number badness
if ((rootPart.OwnerID != item.Owner) || if ((rootPart.OwnerID != item.Owner) ||
(item.CurrentPermissions & 16) != 0 || // Magic number (item.CurrentPermissions & 16) != 0 || // Magic number
(item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0) (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0)

View File

@ -308,7 +308,6 @@ namespace OpenSim.Region.Framework.Scenes
{ {
if (UUID.Zero == transactionID) if (UUID.Zero == transactionID)
{ {
item.Flags = itemUpd.Flags;
item.Name = itemUpd.Name; item.Name = itemUpd.Name;
item.Description = itemUpd.Description; item.Description = itemUpd.Description;
if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions)) if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions))