mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 17:55:48 +08:00
More on HG inventory and OutboundPermission: disallowing giving inventory to foreigners if OutboundPermission is false
This commit is contained in:
@@ -124,7 +124,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||
// We're fgoing to enforce some stricter permissions if Outbound is false
|
||||
scene.Permissions.OnTakeObject += CanTakeObject;
|
||||
scene.Permissions.OnTakeCopyObject += CanTakeObject;
|
||||
|
||||
scene.Permissions.OnTransferUserInventory += OnTransferUserInventory;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -447,6 +447,17 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||
return true;
|
||||
}
|
||||
|
||||
private bool OnTransferUserInventory(UUID itemID, UUID userID, UUID recipientID)
|
||||
{
|
||||
if (m_bypassPermissions) return true;
|
||||
|
||||
if (!m_OutboundPermission && !UserManagementModule.IsLocalGridUser(recipientID))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -556,6 +556,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
{
|
||||
//Console.WriteLine("Scene.Inventory.cs: GiveInventoryItem");
|
||||
|
||||
if (!Permissions.CanTransferUserInventory(itemId, senderId, recipient))
|
||||
return null;
|
||||
|
||||
InventoryItemBase item = new InventoryItemBase(itemId, senderId);
|
||||
item = InventoryService.GetItem(item);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user