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.
0.6.9-post-fixes
Melanie 2010-09-27 00:36:50 +01:00
parent 60d2eac5ee
commit 2e7b27db1f
1 changed files with 9 additions and 2 deletions

View File

@ -772,6 +772,10 @@ namespace OpenSim.Region.Framework.Scenes
// isn't available (such as drag from prim inventory to agent inventory) // isn't available (such as drag from prim inventory to agent inventory)
InventoryStringBuilder invString = new InventoryStringBuilder(m_part.UUID, UUID.Zero); 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;
lock (m_items) lock (m_items)
{ {
foreach (TaskInventoryItem item in m_items.Values) foreach (TaskInventoryItem item in m_items.Values)
@ -802,7 +806,10 @@ namespace OpenSim.Region.Framework.Scenes
invString.AddNameValueLine("group_id", item.GroupID.ToString()); invString.AddNameValueLine("group_id", item.GroupID.ToString());
invString.AddSectionEnd(); invString.AddSectionEnd();
if (includeAssets)
invString.AddNameValueLine("asset_id", item.AssetID.ToString()); invString.AddNameValueLine("asset_id", item.AssetID.ToString());
else
invString.AddNameValueLine("asset_id", UUID.Zero.ToString());
invString.AddNameValueLine("type", TaskInventoryItem.Types[item.Type]); invString.AddNameValueLine("type", TaskInventoryItem.Types[item.Type]);
invString.AddNameValueLine("inv_type", TaskInventoryItem.InvTypes[item.InvType]); invString.AddNameValueLine("inv_type", TaskInventoryItem.InvTypes[item.InvType]);
invString.AddNameValueLine("flags", Utils.UIntToHexString(item.Flags)); invString.AddNameValueLine("flags", Utils.UIntToHexString(item.Flags));