exclude lms from permissions checks. They are full rights, and broken on all dbs

httptests
UbitUmarov 2017-04-30 12:51:12 +01:00
parent 514249e80e
commit 10922c2a1a
1 changed files with 5 additions and 31 deletions

View File

@ -1332,6 +1332,8 @@ namespace OpenSim.Region.Framework.Scenes
{
foreach (TaskInventoryItem item in m_items.Values)
{
if(item.InvType == (sbyte)InventoryType.Landmark)
continue;
owner &= item.CurrentPermissions;
group &= item.GroupPermissions;
everyone &= item.EveryonePermissions;
@ -1346,6 +1348,9 @@ namespace OpenSim.Region.Framework.Scenes
foreach (TaskInventoryItem item in m_items.Values)
{
if(item.InvType == (sbyte)InventoryType.Landmark)
continue;
if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Copy) == 0)
mask &= ~((uint)PermissionMask.FoldedCopy);
if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Transfer) == 0)
@ -1353,19 +1358,6 @@ namespace OpenSim.Region.Framework.Scenes
if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Export) == 0)
mask &= ~((uint)PermissionMask.FoldedExport);
// this breaks some SL legal use cases
// there should be no folding from task inventory
/*
if (item.InvType == (int)InventoryType.Object)
{
if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedCopy)) == 0)
mask &= ~((uint)PermissionMask.FoldedCopy);
if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedTransfer)) == 0)
mask &= ~((uint)PermissionMask.FoldedTransfer);
if ((item.CurrentPermissions & (uint)PermissionMask.FoldedExport) == 0)
mask &= ~((uint)PermissionMask.FoldedExport);
}
*/
if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
mask &= ~(uint)PermissionMask.Copy;
if ((item.CurrentPermissions & (uint)PermissionMask.Transfer) == 0)
@ -1380,24 +1372,6 @@ namespace OpenSim.Region.Framework.Scenes
{
foreach (TaskInventoryItem item in m_items.Values)
{
// this breaks legal SL use cases
// there should be no unfold into task inventory
/*
if (item.InvType == (int)InventoryType.Object && (item.CurrentPermissions & (uint)PermissionMask.FoldedMask) != 0)
{
// m_log.DebugFormat (
// "[SCENE OBJECT PART INVENTORY]: Applying next permissions {0} to {1} in {2} with current {3}, base {4}, everyone {5}",
// item.NextPermissions, item.Name, m_part.Name, item.CurrentPermissions, item.BasePermissions, item.EveryonePermissions);
if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedCopy)) == 0)
item.CurrentPermissions &= ~(uint)PermissionMask.Copy;
if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedTransfer)) == 0)
item.CurrentPermissions &= ~(uint)PermissionMask.Transfer;
if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedModify)) == 0)
item.CurrentPermissions &= ~(uint)PermissionMask.Modify;
}
*/
item.CurrentPermissions &= item.NextPermissions;
item.BasePermissions &= item.NextPermissions;
item.EveryonePermissions &= item.NextPermissions;