diff options
author | Melanie Thielker | 2014-04-26 20:32:27 +0200 |
---|---|---|
committer | Melanie Thielker | 2014-04-26 20:32:27 +0200 |
commit | d97896d39a50cdcbf1d96a9a9382b4dde7b76b53 (patch) | |
tree | b0e7700519756379b280e1337b1c53f7e5e6cbd6 | |
parent | Convert region loading to new format (diff) | |
download | opensim-SC-d97896d39a50cdcbf1d96a9a9382b4dde7b76b53.zip opensim-SC-d97896d39a50cdcbf1d96a9a9382b4dde7b76b53.tar.gz opensim-SC-d97896d39a50cdcbf1d96a9a9382b4dde7b76b53.tar.bz2 opensim-SC-d97896d39a50cdcbf1d96a9a9382b4dde7b76b53.tar.xz |
Differentiate between requests only the owner should be able to do and those
that managers can do when setting parcel data
7 files changed, 29 insertions, 29 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index c307998..4e21724 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | |||
@@ -565,7 +565,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
565 | requiredPowers = GroupPowers.LandManageBanned; | 565 | requiredPowers = GroupPowers.LandManageBanned; |
566 | 566 | ||
567 | if (m_scene.Permissions.CanEditParcelProperties(agentID, | 567 | if (m_scene.Permissions.CanEditParcelProperties(agentID, |
568 | land, requiredPowers)) | 568 | land, requiredPowers, false)) |
569 | { | 569 | { |
570 | land.UpdateAccessList(flags, transactionID, sequenceID, | 570 | land.UpdateAccessList(flags, transactionID, sequenceID, |
571 | sections, entries, remote_client); | 571 | sections, entries, remote_client); |
@@ -927,7 +927,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
927 | 927 | ||
928 | //If we are still here, then they are subdividing within one piece of land | 928 | //If we are still here, then they are subdividing within one piece of land |
929 | //Check owner | 929 | //Check owner |
930 | if (!m_scene.Permissions.CanEditParcelProperties(attempting_user_id, startLandObject, GroupPowers.LandDivideJoin)) | 930 | if (!m_scene.Permissions.CanEditParcelProperties(attempting_user_id, startLandObject, GroupPowers.LandDivideJoin, true)) |
931 | { | 931 | { |
932 | return; | 932 | return; |
933 | } | 933 | } |
@@ -996,7 +996,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
996 | { | 996 | { |
997 | return; | 997 | return; |
998 | } | 998 | } |
999 | if (!m_scene.Permissions.CanEditParcelProperties(attempting_user_id, masterLandObject, GroupPowers.LandDivideJoin)) | 999 | if (!m_scene.Permissions.CanEditParcelProperties(attempting_user_id, masterLandObject, GroupPowers.LandDivideJoin, true)) |
1000 | { | 1000 | { |
1001 | return; | 1001 | return; |
1002 | } | 1002 | } |
@@ -1727,7 +1727,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1727 | 1727 | ||
1728 | if (land == null) return; | 1728 | if (land == null) return; |
1729 | 1729 | ||
1730 | if (!m_scene.Permissions.CanEditParcelProperties(remoteClient.AgentId, land, GroupPowers.LandOptions)) | 1730 | if (!m_scene.Permissions.CanEditParcelProperties(remoteClient.AgentId, land, GroupPowers.LandOptions, false)) |
1731 | return; | 1731 | return; |
1732 | 1732 | ||
1733 | land.LandData.OtherCleanTime = otherCleanTime; | 1733 | land.LandData.OtherCleanTime = otherCleanTime; |
@@ -1827,7 +1827,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1827 | if (targetAvatar.UserLevel == 0) | 1827 | if (targetAvatar.UserLevel == 0) |
1828 | { | 1828 | { |
1829 | ILandObject land = ((Scene)client.Scene).LandChannel.GetLandObject(targetAvatar.AbsolutePosition.X, targetAvatar.AbsolutePosition.Y); | 1829 | ILandObject land = ((Scene)client.Scene).LandChannel.GetLandObject(targetAvatar.AbsolutePosition.X, targetAvatar.AbsolutePosition.Y); |
1830 | if (!((Scene)client.Scene).Permissions.CanEditParcelProperties(client.AgentId, land, GroupPowers.LandEjectAndFreeze)) | 1830 | if (!((Scene)client.Scene).Permissions.CanEditParcelProperties(client.AgentId, land, GroupPowers.LandEjectAndFreeze, true)) |
1831 | return; | 1831 | return; |
1832 | if (flags == 0) | 1832 | if (flags == 0) |
1833 | { | 1833 | { |
@@ -1876,7 +1876,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1876 | 1876 | ||
1877 | // Check if you even have permission to do this | 1877 | // Check if you even have permission to do this |
1878 | ILandObject land = m_scene.LandChannel.GetLandObject(targetAvatar.AbsolutePosition.X, targetAvatar.AbsolutePosition.Y); | 1878 | ILandObject land = m_scene.LandChannel.GetLandObject(targetAvatar.AbsolutePosition.X, targetAvatar.AbsolutePosition.Y); |
1879 | if (!m_scene.Permissions.CanEditParcelProperties(client.AgentId, land, GroupPowers.LandEjectAndFreeze) && | 1879 | if (!m_scene.Permissions.CanEditParcelProperties(client.AgentId, land, GroupPowers.LandEjectAndFreeze, true) && |
1880 | !m_scene.Permissions.IsAdministrator(client.AgentId)) | 1880 | !m_scene.Permissions.IsAdministrator(client.AgentId)) |
1881 | return; | 1881 | return; |
1882 | 1882 | ||
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index 7325e48..2eafd44 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs | |||
@@ -286,7 +286,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
286 | // ParcelFlags.ForSaleObjects | 286 | // ParcelFlags.ForSaleObjects |
287 | // ParcelFlags.LindenHome | 287 | // ParcelFlags.LindenHome |
288 | 288 | ||
289 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandOptions)) | 289 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandOptions, false)) |
290 | { | 290 | { |
291 | allowedDelta |= (uint)(ParcelFlags.AllowLandmark | | 291 | allowedDelta |= (uint)(ParcelFlags.AllowLandmark | |
292 | ParcelFlags.AllowTerraform | | 292 | ParcelFlags.AllowTerraform | |
@@ -301,7 +301,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
301 | ParcelFlags.AllowFly); | 301 | ParcelFlags.AllowFly); |
302 | } | 302 | } |
303 | 303 | ||
304 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandSetSale)) | 304 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandSetSale, true)) |
305 | { | 305 | { |
306 | if (args.AuthBuyerID != newData.AuthBuyerID || | 306 | if (args.AuthBuyerID != newData.AuthBuyerID || |
307 | args.SalePrice != newData.SalePrice) | 307 | args.SalePrice != newData.SalePrice) |
@@ -324,7 +324,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
324 | allowedDelta |= (uint)ParcelFlags.ForSale; | 324 | allowedDelta |= (uint)ParcelFlags.ForSale; |
325 | } | 325 | } |
326 | 326 | ||
327 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.FindPlaces)) | 327 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.FindPlaces, false)) |
328 | { | 328 | { |
329 | newData.Category = args.Category; | 329 | newData.Category = args.Category; |
330 | 330 | ||
@@ -333,21 +333,21 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
333 | ParcelFlags.MaturePublish) | (uint)(1 << 23); | 333 | ParcelFlags.MaturePublish) | (uint)(1 << 23); |
334 | } | 334 | } |
335 | 335 | ||
336 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.LandChangeIdentity)) | 336 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.LandChangeIdentity, false)) |
337 | { | 337 | { |
338 | newData.Description = args.Desc; | 338 | newData.Description = args.Desc; |
339 | newData.Name = args.Name; | 339 | newData.Name = args.Name; |
340 | newData.SnapshotID = args.SnapshotID; | 340 | newData.SnapshotID = args.SnapshotID; |
341 | } | 341 | } |
342 | 342 | ||
343 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.SetLandingPoint)) | 343 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.SetLandingPoint, false)) |
344 | { | 344 | { |
345 | newData.LandingType = args.LandingType; | 345 | newData.LandingType = args.LandingType; |
346 | newData.UserLocation = args.UserLocation; | 346 | newData.UserLocation = args.UserLocation; |
347 | newData.UserLookAt = args.UserLookAt; | 347 | newData.UserLookAt = args.UserLookAt; |
348 | } | 348 | } |
349 | 349 | ||
350 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.ChangeMedia)) | 350 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.ChangeMedia, false)) |
351 | { | 351 | { |
352 | newData.MediaAutoScale = args.MediaAutoScale; | 352 | newData.MediaAutoScale = args.MediaAutoScale; |
353 | newData.MediaID = args.MediaID; | 353 | newData.MediaID = args.MediaID; |
@@ -368,7 +368,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
368 | ParcelFlags.UseEstateVoiceChan); | 368 | ParcelFlags.UseEstateVoiceChan); |
369 | } | 369 | } |
370 | 370 | ||
371 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.LandManagePasses)) | 371 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId,this, GroupPowers.LandManagePasses, false)) |
372 | { | 372 | { |
373 | newData.PassHours = args.PassHours; | 373 | newData.PassHours = args.PassHours; |
374 | newData.PassPrice = args.PassPrice; | 374 | newData.PassPrice = args.PassPrice; |
@@ -376,13 +376,13 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
376 | allowedDelta |= (uint)ParcelFlags.UsePassList; | 376 | allowedDelta |= (uint)ParcelFlags.UsePassList; |
377 | } | 377 | } |
378 | 378 | ||
379 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandManageAllowed)) | 379 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandManageAllowed, false)) |
380 | { | 380 | { |
381 | allowedDelta |= (uint)(ParcelFlags.UseAccessGroup | | 381 | allowedDelta |= (uint)(ParcelFlags.UseAccessGroup | |
382 | ParcelFlags.UseAccessList); | 382 | ParcelFlags.UseAccessList); |
383 | } | 383 | } |
384 | 384 | ||
385 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandManageBanned)) | 385 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandManageBanned, false)) |
386 | { | 386 | { |
387 | allowedDelta |= (uint)(ParcelFlags.UseBanList | | 387 | allowedDelta |= (uint)(ParcelFlags.UseBanList | |
388 | ParcelFlags.DenyAnonymous | | 388 | ParcelFlags.DenyAnonymous | |
@@ -952,7 +952,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
952 | 952 | ||
953 | public void SendForceObjectSelect(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client) | 953 | public void SendForceObjectSelect(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client) |
954 | { | 954 | { |
955 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandOptions)) | 955 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandOptions, true)) |
956 | { | 956 | { |
957 | List<uint> resultLocalIDs = new List<uint>(); | 957 | List<uint> resultLocalIDs = new List<uint>(); |
958 | try | 958 | try |
@@ -1002,7 +1002,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1002 | /// </param> | 1002 | /// </param> |
1003 | public void SendLandObjectOwners(IClientAPI remote_client) | 1003 | public void SendLandObjectOwners(IClientAPI remote_client) |
1004 | { | 1004 | { |
1005 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandOptions)) | 1005 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandOptions, true)) |
1006 | { | 1006 | { |
1007 | Dictionary<UUID, int> primCount = new Dictionary<UUID, int>(); | 1007 | Dictionary<UUID, int> primCount = new Dictionary<UUID, int>(); |
1008 | List<UUID> groups = new List<UUID>(); | 1008 | List<UUID> groups = new List<UUID>(); |
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index 26e9131..4f5b9b7 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs | |||
@@ -1047,7 +1047,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
1047 | return GenericObjectPermission(editorID, objectID, false); | 1047 | return GenericObjectPermission(editorID, objectID, false); |
1048 | } | 1048 | } |
1049 | 1049 | ||
1050 | private bool CanEditParcelProperties(UUID user, ILandObject parcel, GroupPowers p, Scene scene) | 1050 | private bool CanEditParcelProperties(UUID user, ILandObject parcel, GroupPowers p, Scene scene, bool allowManager) |
1051 | { | 1051 | { |
1052 | DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); | 1052 | DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); |
1053 | if (m_bypassPermissions) return m_bypassPermissionsValue; | 1053 | if (m_bypassPermissions) return m_bypassPermissionsValue; |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs index 535d87a..4d90726 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs | |||
@@ -70,7 +70,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
70 | public delegate bool IsGridGodHandler(UUID user, Scene requestFromScene); | 70 | public delegate bool IsGridGodHandler(UUID user, Scene requestFromScene); |
71 | public delegate bool IsAdministratorHandler(UUID user); | 71 | public delegate bool IsAdministratorHandler(UUID user); |
72 | public delegate bool EditParcelHandler(UUID user, ILandObject parcel, Scene scene); | 72 | public delegate bool EditParcelHandler(UUID user, ILandObject parcel, Scene scene); |
73 | public delegate bool EditParcelPropertiesHandler(UUID user, ILandObject parcel, GroupPowers p, Scene scene); | 73 | public delegate bool EditParcelPropertiesHandler(UUID user, ILandObject parcel, GroupPowers p, Scene scene, bool allowManager); |
74 | public delegate bool SellParcelHandler(UUID user, ILandObject parcel, Scene scene); | 74 | public delegate bool SellParcelHandler(UUID user, ILandObject parcel, Scene scene); |
75 | public delegate bool AbandonParcelHandler(UUID user, ILandObject parcel, Scene scene); | 75 | public delegate bool AbandonParcelHandler(UUID user, ILandObject parcel, Scene scene); |
76 | public delegate bool ReclaimParcelHandler(UUID user, ILandObject parcel, Scene scene); | 76 | public delegate bool ReclaimParcelHandler(UUID user, ILandObject parcel, Scene scene); |
@@ -763,7 +763,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
763 | 763 | ||
764 | #region EDIT PARCEL | 764 | #region EDIT PARCEL |
765 | 765 | ||
766 | public bool CanEditParcelProperties(UUID user, ILandObject parcel, GroupPowers p) | 766 | public bool CanEditParcelProperties(UUID user, ILandObject parcel, GroupPowers p, bool allowManager) |
767 | { | 767 | { |
768 | EditParcelPropertiesHandler handler = OnEditParcelProperties; | 768 | EditParcelPropertiesHandler handler = OnEditParcelProperties; |
769 | if (handler != null) | 769 | if (handler != null) |
@@ -771,7 +771,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
771 | Delegate[] list = handler.GetInvocationList(); | 771 | Delegate[] list = handler.GetInvocationList(); |
772 | foreach (EditParcelPropertiesHandler h in list) | 772 | foreach (EditParcelPropertiesHandler h in list) |
773 | { | 773 | { |
774 | if (h(user, parcel, p, m_scene) == false) | 774 | if (h(user, parcel, p, m_scene, allowManager) == false) |
775 | return false; | 775 | return false; |
776 | } | 776 | } |
777 | } | 777 | } |
diff --git a/OpenSim/Region/RegionCombinerModule/RegionCombinerPermissionModule.cs b/OpenSim/Region/RegionCombinerModule/RegionCombinerPermissionModule.cs index 7c662c9..40ed3fd 100644 --- a/OpenSim/Region/RegionCombinerModule/RegionCombinerPermissionModule.cs +++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerPermissionModule.cs | |||
@@ -105,9 +105,9 @@ namespace OpenSim.Region.RegionCombinerModule | |||
105 | return m_rootScene.Permissions.CanEditObject(objectid, editorid); | 105 | return m_rootScene.Permissions.CanEditObject(objectid, editorid); |
106 | } | 106 | } |
107 | 107 | ||
108 | public bool CanEditParcelProperties(UUID user, ILandObject parcel, GroupPowers g, Scene scene) | 108 | public bool CanEditParcelProperties(UUID user, ILandObject parcel, GroupPowers g, Scene scene, bool allowManager) |
109 | { | 109 | { |
110 | return m_rootScene.Permissions.CanEditParcelProperties(user, parcel, g); | 110 | return m_rootScene.Permissions.CanEditParcelProperties(user, parcel, g, allowManager); |
111 | } | 111 | } |
112 | 112 | ||
113 | public bool CanInstantMessage(UUID user, UUID target, Scene startscene) | 113 | public bool CanInstantMessage(UUID user, UUID target, Scene startscene) |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index e8502ac..3f0af6d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -7106,7 +7106,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7106 | UUID key; | 7106 | UUID key; |
7107 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); | 7107 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); |
7108 | 7108 | ||
7109 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned)) | 7109 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned, false)) |
7110 | { | 7110 | { |
7111 | int expires = 0; | 7111 | int expires = 0; |
7112 | if (hours != 0) | 7112 | if (hours != 0) |
@@ -10431,7 +10431,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10431 | // according to the docs, this command only works if script owner and land owner are the same | 10431 | // according to the docs, this command only works if script owner and land owner are the same |
10432 | // lets add estate owners and gods, too, and use the generic permission check. | 10432 | // lets add estate owners and gods, too, and use the generic permission check. |
10433 | ILandObject landObject = World.LandChannel.GetLandObject(m_host.AbsolutePosition); | 10433 | ILandObject landObject = World.LandChannel.GetLandObject(m_host.AbsolutePosition); |
10434 | if (!World.Permissions.CanEditParcelProperties(m_host.OwnerID, landObject, GroupPowers.ChangeMedia)) return; | 10434 | if (!World.Permissions.CanEditParcelProperties(m_host.OwnerID, landObject, GroupPowers.ChangeMedia, false)) return; |
10435 | 10435 | ||
10436 | bool update = false; // send a ParcelMediaUpdate (and possibly change the land's media URL)? | 10436 | bool update = false; // send a ParcelMediaUpdate (and possibly change the land's media URL)? |
10437 | byte loop = 0; | 10437 | byte loop = 0; |
@@ -10874,7 +10874,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10874 | m_host.AddScriptLPS(1); | 10874 | m_host.AddScriptLPS(1); |
10875 | UUID key; | 10875 | UUID key; |
10876 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); | 10876 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); |
10877 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned)) | 10877 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned, false)) |
10878 | { | 10878 | { |
10879 | int expires = 0; | 10879 | int expires = 0; |
10880 | if (hours != 0) | 10880 | if (hours != 0) |
@@ -10915,7 +10915,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10915 | m_host.AddScriptLPS(1); | 10915 | m_host.AddScriptLPS(1); |
10916 | UUID key; | 10916 | UUID key; |
10917 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); | 10917 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); |
10918 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageAllowed)) | 10918 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageAllowed, false)) |
10919 | { | 10919 | { |
10920 | if (UUID.TryParse(avatar, out key)) | 10920 | if (UUID.TryParse(avatar, out key)) |
10921 | { | 10921 | { |
@@ -10942,7 +10942,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10942 | m_host.AddScriptLPS(1); | 10942 | m_host.AddScriptLPS(1); |
10943 | UUID key; | 10943 | UUID key; |
10944 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); | 10944 | ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); |
10945 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned)) | 10945 | if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned, false)) |
10946 | { | 10946 | { |
10947 | if (UUID.TryParse(avatar, out key)) | 10947 | if (UUID.TryParse(avatar, out key)) |
10948 | { | 10948 | { |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index f4e4f44..9c148d1 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -1434,7 +1434,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1434 | return; | 1434 | return; |
1435 | } | 1435 | } |
1436 | 1436 | ||
1437 | if (!World.Permissions.CanEditParcelProperties(m_host.OwnerID, startLandObject, GroupPowers.LandOptions)) | 1437 | if (!World.Permissions.CanEditParcelProperties(m_host.OwnerID, startLandObject, GroupPowers.LandOptions, false)) |
1438 | { | 1438 | { |
1439 | OSSLShoutError("You do not have permission to modify the parcel"); | 1439 | OSSLShoutError("You do not have permission to modify the parcel"); |
1440 | return; | 1440 | return; |