aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-07-23 02:05:51 +0100
committerJustin Clark-Casey (justincc)2011-07-23 02:05:51 +0100
commitfcaa4f601231a6feb7fd5ea40e35fba6220c6235 (patch)
tree003517e08cd61bccc1263ab992d09c576aa25ab4 /OpenSim/Region
parentDon't load current/next/everyone/base permissions from the library item xml f... (diff)
downloadopensim-SC-fcaa4f601231a6feb7fd5ea40e35fba6220c6235.zip
opensim-SC-fcaa4f601231a6feb7fd5ea40e35fba6220c6235.tar.gz
opensim-SC-fcaa4f601231a6feb7fd5ea40e35fba6220c6235.tar.bz2
opensim-SC-fcaa4f601231a6feb7fd5ea40e35fba6220c6235.tar.xz
Revert "Don't load current/next/everyone/base permissions from the library item xml files - always use PermissionMask.All instead (which was the existing default)."
There actually are uses for this. I will correct the perms instead since some entries appear to be wrong. This reverts commit 667b54f5a2a04fa5a2859397868d270eab3913f1.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs4
-rw-r--r--OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs5
3 files changed, 2 insertions, 15 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 4933147..b714f2b 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -984,14 +984,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
984 public virtual bool CanGetAgentInventoryItem(IClientAPI remoteClient, UUID itemID, UUID requestID) 984 public virtual bool CanGetAgentInventoryItem(IClientAPI remoteClient, UUID itemID, UUID requestID)
985 { 985 {
986 InventoryItemBase assetRequestItem = GetItem(remoteClient.AgentId, itemID); 986 InventoryItemBase assetRequestItem = GetItem(remoteClient.AgentId, itemID);
987
988 if (assetRequestItem == null) 987 if (assetRequestItem == null)
989 { 988 {
990 ILibraryService lib = m_Scene.RequestModuleInterface<ILibraryService>(); 989 ILibraryService lib = m_Scene.RequestModuleInterface<ILibraryService>();
991
992 if (lib != null) 990 if (lib != null)
993 assetRequestItem = lib.LibraryRootFolder.FindItem(itemID); 991 assetRequestItem = lib.LibraryRootFolder.FindItem(itemID);
994
995 if (assetRequestItem == null) 992 if (assetRequestItem == null)
996 return false; 993 return false;
997 } 994 }
@@ -1022,7 +1019,6 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
1022 m_log.WarnFormat( 1019 m_log.WarnFormat(
1023 "[CLIENT]: {0} requested asset {1} from item {2} but this does not match item's asset {3}", 1020 "[CLIENT]: {0} requested asset {1} from item {2} but this does not match item's asset {3}",
1024 Name, requestID, itemID, assetRequestItem.AssetID); 1021 Name, requestID, itemID, assetRequestItem.AssetID);
1025
1026 return false; 1022 return false;
1027 } 1023 }
1028 1024
diff --git a/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs b/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs
index 2ef4457..d570608 100644
--- a/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs
@@ -185,7 +185,6 @@ namespace OpenSim.Region.CoreModules.Framework.Library
185 archread = new InventoryArchiveReadRequest(m_MockScene, uinfo, "/", iarFileName, false); 185 archread = new InventoryArchiveReadRequest(m_MockScene, uinfo, "/", iarFileName, false);
186 archread.Execute(); 186 archread.Execute();
187 } 187 }
188
189 foreach (InventoryNodeBase node in nodes) 188 foreach (InventoryNodeBase node in nodes)
190 FixPerms(node); 189 FixPerms(node);
191 } 190 }
@@ -198,23 +197,18 @@ namespace OpenSim.Region.CoreModules.Framework.Library
198 archread.Close(); 197 archread.Close();
199 } 198 }
200 } 199 }
200
201 } 201 }
202 202
203 private void FixPerms(InventoryNodeBase node) 203 private void FixPerms(InventoryNodeBase node)
204 { 204 {
205 m_log.DebugFormat("[LIBRARY MODULE]: Fixing perms for {0} {1}", node.Name, node.ID);
206
207 if (node is InventoryItemBase) 205 if (node is InventoryItemBase)
208 { 206 {
209 InventoryItemBase item = (InventoryItemBase)node; 207 InventoryItemBase item = (InventoryItemBase)node;
210// item.BasePermissions = (uint)PermissionMask.All;
211 item.BasePermissions = 0x7FFFFFFF; 208 item.BasePermissions = 0x7FFFFFFF;
212 item.EveryOnePermissions = 0x7FFFFFFF; 209 item.EveryOnePermissions = 0x7FFFFFFF;
213 item.CurrentPermissions = 0x7FFFFFFF; 210 item.CurrentPermissions = 0x7FFFFFFF;
214 item.NextPermissions = 0x7FFFFFFF; 211 item.NextPermissions = 0x7FFFFFFF;
215// item.EveryOnePermissions = (uint)PermissionMask.Copy;
216// item.CurrentPermissions = (uint)PermissionMask.None;
217// item.NextPermissions = (uint)PermissionMask.All;
218 } 212 }
219 } 213 }
220 214
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index afc1a4f..30421d4 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -724,10 +724,7 @@ namespace OpenSim.Region.Framework.Scenes
724 newName = item.Name; 724 newName = item.Name;
725 } 725 }
726 726
727 if (remoteClient.AgentId == oldAgentID 727 if (remoteClient.AgentId == oldAgentID || (LibraryService != null && LibraryService.LibraryRootFolder != null && oldAgentID == LibraryService.LibraryRootFolder.Owner))
728 || (LibraryService != null
729 && LibraryService.LibraryRootFolder != null
730 && oldAgentID == LibraryService.LibraryRootFolder.Owner))
731 { 728 {
732 CreateNewInventoryItem( 729 CreateNewInventoryItem(
733 remoteClient, item.CreatorId, item.CreatorData, newFolderID, newName, item.Flags, callbackID, asset, (sbyte)item.InvType, 730 remoteClient, item.CreatorId, item.CreatorData, newFolderID, newName, item.Flags, callbackID, asset, (sbyte)item.InvType,