From c93551d8f43cf91f909a3909bc2bdbf70666201b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 17 Dec 2016 22:38:31 +0000 Subject: [PATCH] allow a creator that is also onwer to change export flag. Add missing setting to ini files --- .../Region/Framework/Scenes/Scene.Inventory.cs | 6 ++++-- bin/OpenSim.ini.example | 4 ++++ bin/OpenSimDefaults.ini | 15 +++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 61ea8acd0f..000944f5da 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -431,9 +431,11 @@ namespace OpenSim.Region.Framework.Scenes bool denyExportChange = false; // m_log.DebugFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions); - + const uint permALLandExport = (uint)(PermissionMask.All | PermissionMask.Export); // If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export - if ((item.BasePermissions & (uint)(PermissionMask.All | PermissionMask.Export)) != (uint)(PermissionMask.All | PermissionMask.Export) || (item.CurrentPermissions & (uint)PermissionMask.Export) == 0 || item.CreatorIdAsUuid != item.Owner) + if (item.CreatorIdAsUuid != item.Owner && + ((item.BasePermissions & permALLandExport) != permALLandExport || + (item.CurrentPermissions & (uint)PermissionMask.Export) == 0)) denyExportChange = true; // m_log.DebugFormat("[XXX]: Deny Export Update {0}", denyExportChange); diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5f1e779337..41bb26350e 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -619,6 +619,10 @@ ;; supported by viewers. ;DestinationGuideURI = "http://127.0.0.1:9000/guide" + ;# {ExportSupported} {} {Enable export control flag} {true false} false + ;; set to true to allow the export control flag of items + ; ExportSupported = false + [Chat] ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10 diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index b133da9343..423d8dc362 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -836,6 +836,21 @@ ; Capability for searching for people Cap_AvatarPickerSearch = "localhost" +[SimulatorFeatures] + ;# {SearchServerURI} {} {URL of the search server} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] SearchURL setting and will override that where + ;; supported by viewers. + ;SearchServerURI = "http://127.0.0.1:9000/" + + ;# {DestinationGuideURI} {} {URL of the destination guide} {} + ;; Optional. If given this serves the same purpose as the grid wide + ;; [LoginServices] DestinationGuide setting and will override that where + ;; supported by viewers. + ;DestinationGuideURI = "http://127.0.0.1:9000/guide" + + ; set to true to allow the export control flag of items + ; ExportSupported = false [Chat] ; Controls whether the chat module is enabled. Default is true.