aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2017-04-30 12:51:12 +0100
committerUbitUmarov2017-04-30 12:51:12 +0100
commit10922c2a1a129050e9b29fe1193d48edc1822fe9 (patch)
tree519aee52a95d04dccd17c083d0423659080bba26
parentfix new landmarks default permissions (diff)
downloadopensim-SC-10922c2a1a129050e9b29fe1193d48edc1822fe9.zip
opensim-SC-10922c2a1a129050e9b29fe1193d48edc1822fe9.tar.gz
opensim-SC-10922c2a1a129050e9b29fe1193d48edc1822fe9.tar.bz2
opensim-SC-10922c2a1a129050e9b29fe1193d48edc1822fe9.tar.xz
exclude lms from permissions checks. They are full rights, and broken on all dbs
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs36
1 files changed, 5 insertions, 31 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index 894078d..946ed09 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -1332,6 +1332,8 @@ namespace OpenSim.Region.Framework.Scenes
1332 { 1332 {
1333 foreach (TaskInventoryItem item in m_items.Values) 1333 foreach (TaskInventoryItem item in m_items.Values)
1334 { 1334 {
1335 if(item.InvType == (sbyte)InventoryType.Landmark)
1336 continue;
1335 owner &= item.CurrentPermissions; 1337 owner &= item.CurrentPermissions;
1336 group &= item.GroupPermissions; 1338 group &= item.GroupPermissions;
1337 everyone &= item.EveryonePermissions; 1339 everyone &= item.EveryonePermissions;
@@ -1346,6 +1348,9 @@ namespace OpenSim.Region.Framework.Scenes
1346 1348
1347 foreach (TaskInventoryItem item in m_items.Values) 1349 foreach (TaskInventoryItem item in m_items.Values)
1348 { 1350 {
1351 if(item.InvType == (sbyte)InventoryType.Landmark)
1352 continue;
1353
1349 if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Copy) == 0) 1354 if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Copy) == 0)
1350 mask &= ~((uint)PermissionMask.FoldedCopy); 1355 mask &= ~((uint)PermissionMask.FoldedCopy);
1351 if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Transfer) == 0) 1356 if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Transfer) == 0)
@@ -1353,19 +1358,6 @@ namespace OpenSim.Region.Framework.Scenes
1353 if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Export) == 0) 1358 if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Export) == 0)
1354 mask &= ~((uint)PermissionMask.FoldedExport); 1359 mask &= ~((uint)PermissionMask.FoldedExport);
1355 1360
1356 // this breaks some SL legal use cases
1357 // there should be no folding from task inventory
1358/*
1359 if (item.InvType == (int)InventoryType.Object)
1360 {
1361 if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedCopy)) == 0)
1362 mask &= ~((uint)PermissionMask.FoldedCopy);
1363 if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedTransfer)) == 0)
1364 mask &= ~((uint)PermissionMask.FoldedTransfer);
1365 if ((item.CurrentPermissions & (uint)PermissionMask.FoldedExport) == 0)
1366 mask &= ~((uint)PermissionMask.FoldedExport);
1367 }
1368*/
1369 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) 1361 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
1370 mask &= ~(uint)PermissionMask.Copy; 1362 mask &= ~(uint)PermissionMask.Copy;
1371 if ((item.CurrentPermissions & (uint)PermissionMask.Transfer) == 0) 1363 if ((item.CurrentPermissions & (uint)PermissionMask.Transfer) == 0)
@@ -1380,24 +1372,6 @@ namespace OpenSim.Region.Framework.Scenes
1380 { 1372 {
1381 foreach (TaskInventoryItem item in m_items.Values) 1373 foreach (TaskInventoryItem item in m_items.Values)
1382 { 1374 {
1383
1384 // this breaks legal SL use cases
1385 // there should be no unfold into task inventory
1386/*
1387 if (item.InvType == (int)InventoryType.Object && (item.CurrentPermissions & (uint)PermissionMask.FoldedMask) != 0)
1388 {
1389// m_log.DebugFormat (
1390// "[SCENE OBJECT PART INVENTORY]: Applying next permissions {0} to {1} in {2} with current {3}, base {4}, everyone {5}",
1391// item.NextPermissions, item.Name, m_part.Name, item.CurrentPermissions, item.BasePermissions, item.EveryonePermissions);
1392
1393 if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedCopy)) == 0)
1394 item.CurrentPermissions &= ~(uint)PermissionMask.Copy;
1395 if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedTransfer)) == 0)
1396 item.CurrentPermissions &= ~(uint)PermissionMask.Transfer;
1397 if ((item.CurrentPermissions & ((uint)PermissionMask.FoldedModify)) == 0)
1398 item.CurrentPermissions &= ~(uint)PermissionMask.Modify;
1399 }
1400*/
1401 item.CurrentPermissions &= item.NextPermissions; 1375 item.CurrentPermissions &= item.NextPermissions;
1402 item.BasePermissions &= item.NextPermissions; 1376 item.BasePermissions &= item.NextPermissions;
1403 item.EveryonePermissions &= item.NextPermissions; 1377 item.EveryonePermissions &= item.NextPermissions;