if you can't edit a prim's inventory, you don't need to see the asset ids.

Prevents stealing IDs of animations, sounds and textures from prim
inventories. Prevents copybot from gathering the wearable UUIDs needed for
pirating things from vendors.
avinationmerge
Melanie 2010-09-24 23:48:52 +02:00
parent 33bd4fe789
commit 1c1f308052
1 changed files with 8 additions and 1 deletions

View File

@ -975,6 +975,10 @@ namespace OpenSim.Region.Framework.Scenes
// isn't available (such as drag from prim inventory to agent inventory)
InventoryStringBuilder invString = new InventoryStringBuilder(m_part.UUID, UUID.Zero);
bool includeAssets = false;
if (m_part.ParentGroup.Scene.Permissions.CanEditObjectInventory(m_part.UUID, client.AgentId))
includeAssets = true;
m_items.LockItemsForRead(true);
foreach (TaskInventoryItem item in m_items.Values)
@ -1005,7 +1009,10 @@ namespace OpenSim.Region.Framework.Scenes
invString.AddNameValueLine("group_id", item.GroupID.ToString());
invString.AddSectionEnd();
invString.AddNameValueLine("asset_id", item.AssetID.ToString());
if (includeAssets)
invString.AddNameValueLine("asset_id", item.AssetID.ToString());
else
invString.AddNameValueLine("asset_id", UUID.Zero.ToString());
invString.AddNameValueLine("type", TaskInventoryItem.Types[item.Type]);
invString.AddNameValueLine("inv_type", TaskInventoryItem.InvTypes[item.InvType]);
invString.AddNameValueLine("flags", Utils.UIntToHexString(item.Flags));