aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie Thielker2008-11-21 22:14:57 +0000
committerMelanie Thielker2008-11-21 22:14:57 +0000
commitba723a4cf65e7a82f5072eaab51dc008f4a2bfd9 (patch)
treedb636daea691f80b0d8bfd3970b8ced36ef9ced0 /OpenSim
parent* Comment out unused access time method in MSSQL (diff)
downloadopensim-SC-ba723a4cf65e7a82f5072eaab51dc008f4a2bfd9.zip
opensim-SC-ba723a4cf65e7a82f5072eaab51dc008f4a2bfd9.tar.gz
opensim-SC-ba723a4cf65e7a82f5072eaab51dc008f4a2bfd9.tar.bz2
opensim-SC-ba723a4cf65e7a82f5072eaab51dc008f4a2bfd9.tar.xz
Refactor: Scene.ExternalChecks -> Scene.Permissions. Also make all
the internals of the permissions module adapter sane
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs40
-rw-r--r--OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs12
-rw-r--r--OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs12
-rw-r--r--OpenSim/Region/Environment/Modules/World/Land/LandObject.cs8
-rw-r--r--OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs82
-rw-r--r--OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs8
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs66
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs10
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Permissions.cs (renamed from OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs)540
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs12
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneBase.cs6
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneGraph.cs44
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneManager.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs6
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPartInventory.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs6
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs8
21 files changed, 436 insertions, 436 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 9874886..a897aa2 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -1095,7 +1095,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1095 string fromName, byte dialog, uint timeStamp, 1095 string fromName, byte dialog, uint timeStamp,
1096 UUID transactionID, bool fromGroup, byte[] binaryBucket) 1096 UUID transactionID, bool fromGroup, byte[] binaryBucket)
1097 { 1097 {
1098 if (((Scene)(m_scene)).ExternalChecks.ExternalChecksCanInstantMessage(fromAgent, toAgent)) 1098 if (((Scene)(m_scene)).Permissions.CanInstantMessage(fromAgent, toAgent))
1099 { 1099 {
1100 ImprovedInstantMessagePacket msg 1100 ImprovedInstantMessagePacket msg
1101 = (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage); 1101 = (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage);
@@ -4984,7 +4984,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4984 UUID taskID = new UUID(transfer.TransferInfo.Params, 48); 4984 UUID taskID = new UUID(transfer.TransferInfo.Params, 48);
4985 UUID itemID = new UUID(transfer.TransferInfo.Params, 64); 4985 UUID itemID = new UUID(transfer.TransferInfo.Params, 64);
4986 UUID requestID = new UUID(transfer.TransferInfo.Params, 80); 4986 UUID requestID = new UUID(transfer.TransferInfo.Params, 80);
4987 if (!(((Scene)m_scene).ExternalChecks.ExternalChecksBypassPermissions())) 4987 if (!(((Scene)m_scene).Permissions.BypassPermissions()))
4988 { 4988 {
4989 if (taskID != UUID.Zero) // Prim 4989 if (taskID != UUID.Zero) // Prim
4990 { 4990 {
@@ -5040,7 +5040,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5040 // 5040 //
5041 if (assetRequestItem.AssetType == 10) 5041 if (assetRequestItem.AssetType == 10)
5042 { 5042 {
5043 if (!((Scene)m_scene).ExternalChecks.ExternalChecksCanViewScript(itemID, UUID.Zero, AgentId)) 5043 if (!((Scene)m_scene).Permissions.CanViewScript(itemID, UUID.Zero, AgentId))
5044 { 5044 {
5045 SendAgentAlertMessage("Insufficient permissions to view script", false); 5045 SendAgentAlertMessage("Insufficient permissions to view script", false);
5046 break; 5046 break;
@@ -5048,7 +5048,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5048 } 5048 }
5049 else if (assetRequestItem.AssetType == 7) 5049 else if (assetRequestItem.AssetType == 7)
5050 { 5050 {
5051 if (!((Scene)m_scene).ExternalChecks.ExternalChecksCanViewNotecard(itemID, UUID.Zero, AgentId)) 5051 if (!((Scene)m_scene).Permissions.CanViewNotecard(itemID, UUID.Zero, AgentId))
5052 { 5052 {
5053 SendAgentAlertMessage("Insufficient permissions to view notecard", false); 5053 SendAgentAlertMessage("Insufficient permissions to view notecard", false);
5054 break; 5054 break;
@@ -5799,13 +5799,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5799 switch (Utils.BytesToString(messagePacket.MethodData.Method)) 5799 switch (Utils.BytesToString(messagePacket.MethodData.Method))
5800 { 5800 {
5801 case "getinfo": 5801 case "getinfo":
5802 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5802 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5803 { 5803 {
5804 OnDetailedEstateDataRequest(this, messagePacket.MethodData.Invoice); 5804 OnDetailedEstateDataRequest(this, messagePacket.MethodData.Invoice);
5805 } 5805 }
5806 break; 5806 break;
5807 case "setregioninfo": 5807 case "setregioninfo":
5808 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5808 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5809 { 5809 {
5810 OnSetEstateFlagsRequest(convertParamStringToBool(messagePacket.ParamList[0].Parameter), convertParamStringToBool(messagePacket.ParamList[1].Parameter), 5810 OnSetEstateFlagsRequest(convertParamStringToBool(messagePacket.ParamList[0].Parameter), convertParamStringToBool(messagePacket.ParamList[1].Parameter),
5811 convertParamStringToBool(messagePacket.ParamList[2].Parameter), !convertParamStringToBool(messagePacket.ParamList[3].Parameter), 5811 convertParamStringToBool(messagePacket.ParamList[2].Parameter), !convertParamStringToBool(messagePacket.ParamList[3].Parameter),
@@ -5818,7 +5818,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5818 5818
5819 break; 5819 break;
5820// case "texturebase": 5820// case "texturebase":
5821// if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5821// if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5822// { 5822// {
5823// foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList) 5823// foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
5824// { 5824// {
@@ -5833,7 +5833,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5833// } 5833// }
5834// break; 5834// break;
5835 case "texturedetail": 5835 case "texturedetail":
5836 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5836 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5837 { 5837 {
5838 foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList) 5838 foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
5839 { 5839 {
@@ -5851,7 +5851,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5851 5851
5852 break; 5852 break;
5853 case "textureheights": 5853 case "textureheights":
5854 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5854 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5855 { 5855 {
5856 foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList) 5856 foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
5857 { 5857 {
@@ -5872,7 +5872,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5872 OnCommitEstateTerrainTextureRequest(this); 5872 OnCommitEstateTerrainTextureRequest(this);
5873 break; 5873 break;
5874 case "setregionterrain": 5874 case "setregionterrain":
5875 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5875 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5876 { 5876 {
5877 if (messagePacket.ParamList.Length != 9) 5877 if (messagePacket.ParamList.Length != 9)
5878 { 5878 {
@@ -5910,7 +5910,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5910 5910
5911 break; 5911 break;
5912 case "restart": 5912 case "restart":
5913 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5913 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5914 { 5914 {
5915 // There's only 1 block in the estateResetSim.. and that's the number of seconds till restart. 5915 // There's only 1 block in the estateResetSim.. and that's the number of seconds till restart.
5916 foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList) 5916 foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
@@ -5924,7 +5924,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5924 } 5924 }
5925 break; 5925 break;
5926 case "estatechangecovenantid": 5926 case "estatechangecovenantid":
5927 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5927 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5928 { 5928 {
5929 foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList) 5929 foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
5930 { 5930 {
@@ -5934,7 +5934,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5934 } 5934 }
5935 break; 5935 break;
5936 case "estateaccessdelta": // Estate access delta manages the banlist and allow list too. 5936 case "estateaccessdelta": // Estate access delta manages the banlist and allow list too.
5937 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5937 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5938 { 5938 {
5939 int estateAccessType = Convert.ToInt16(Utils.BytesToString(messagePacket.ParamList[1].Parameter)); 5939 int estateAccessType = Convert.ToInt16(Utils.BytesToString(messagePacket.ParamList[1].Parameter));
5940 OnUpdateEstateAccessDeltaRequest(this, messagePacket.MethodData.Invoice, estateAccessType, new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter))); 5940 OnUpdateEstateAccessDeltaRequest(this, messagePacket.MethodData.Invoice, estateAccessType, new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter)));
@@ -5942,7 +5942,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5942 } 5942 }
5943 break; 5943 break;
5944 case "simulatormessage": 5944 case "simulatormessage":
5945 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5945 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5946 { 5946 {
5947 UUID invoice = messagePacket.MethodData.Invoice; 5947 UUID invoice = messagePacket.MethodData.Invoice;
5948 UUID SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter)); 5948 UUID SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter));
@@ -5953,7 +5953,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5953 } 5953 }
5954 break; 5954 break;
5955 case "instantmessage": 5955 case "instantmessage":
5956 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5956 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5957 { 5957 {
5958 if (messagePacket.ParamList.Length < 5) 5958 if (messagePacket.ParamList.Length < 5)
5959 break; 5959 break;
@@ -5966,7 +5966,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5966 } 5966 }
5967 break; 5967 break;
5968 case "setregiondebug": 5968 case "setregiondebug":
5969 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5969 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5970 { 5970 {
5971 UUID invoice = messagePacket.MethodData.Invoice; 5971 UUID invoice = messagePacket.MethodData.Invoice;
5972 UUID SenderID = messagePacket.AgentData.AgentID; 5972 UUID SenderID = messagePacket.AgentData.AgentID;
@@ -5978,7 +5978,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5978 } 5978 }
5979 break; 5979 break;
5980 case "teleporthomeuser": 5980 case "teleporthomeuser":
5981 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5981 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5982 { 5982 {
5983 UUID invoice = messagePacket.MethodData.Invoice; 5983 UUID invoice = messagePacket.MethodData.Invoice;
5984 UUID SenderID = messagePacket.AgentData.AgentID; 5984 UUID SenderID = messagePacket.AgentData.AgentID;
@@ -5990,7 +5990,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5990 } 5990 }
5991 break; 5991 break;
5992 case "teleporthomeallusers": 5992 case "teleporthomeallusers":
5993 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 5993 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
5994 { 5994 {
5995 UUID invoice = messagePacket.MethodData.Invoice; 5995 UUID invoice = messagePacket.MethodData.Invoice;
5996 UUID SenderID = messagePacket.AgentData.AgentID; 5996 UUID SenderID = messagePacket.AgentData.AgentID;
@@ -6012,7 +6012,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6012 } 6012 }
6013 break; 6013 break;
6014 case "terrain": 6014 case "terrain":
6015 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 6015 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
6016 { 6016 {
6017 if (messagePacket.ParamList.Length > 0) 6017 if (messagePacket.ParamList.Length > 0)
6018 { 6018 {
@@ -6054,7 +6054,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6054 break; 6054 break;
6055 6055
6056 case "estatechangeinfo": 6056 case "estatechangeinfo":
6057 if (((Scene)m_scene).ExternalChecks.ExternalChecksCanIssueEstateCommand(AgentId, false)) 6057 if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false))
6058 { 6058 {
6059 UUID invoice = messagePacket.MethodData.Invoice; 6059 UUID invoice = messagePacket.MethodData.Invoice;
6060 UUID SenderID = messagePacket.AgentData.AgentID; 6060 UUID SenderID = messagePacket.AgentData.AgentID;
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
index 4aad3b1..d4f53ff 100644
--- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
@@ -63,7 +63,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
63 else 63 else
64 estateOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID; 64 estateOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID;
65 65
66 if (m_scene.ExternalChecks.ExternalChecksCanBeGodLike(remote_client.AgentId)) 66 if (m_scene.Permissions.IsGod(remote_client.AgentId))
67 estateOwner = remote_client.AgentId; 67 estateOwner = remote_client.AgentId;
68 68
69 remote_client.SendDetailedEstateData(invoice, 69 remote_client.SendDetailedEstateData(invoice,
@@ -233,7 +233,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
233 switch (estateAccessType) 233 switch (estateAccessType)
234 { 234 {
235 case 64: 235 case 64:
236 if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, false) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) 236 if (m_scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, false) || m_scene.Permissions.BypassPermissions())
237 { 237 {
238 EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans; 238 EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans;
239 239
@@ -285,7 +285,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
285 } 285 }
286 break; 286 break;
287 case 128: 287 case 128:
288 if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, false) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) 288 if (m_scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, false) || m_scene.Permissions.BypassPermissions())
289 { 289 {
290 EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans; 290 EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans;
291 291
@@ -321,7 +321,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
321 break; 321 break;
322 case 256: 322 case 256:
323 323
324 if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, true) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) 324 if (m_scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, true) || m_scene.Permissions.BypassPermissions())
325 { 325 {
326 m_scene.RegionInfo.EstateSettings.AddEstateManager(user); 326 m_scene.RegionInfo.EstateSettings.AddEstateManager(user);
327 m_scene.RegionInfo.EstateSettings.Save(); 327 m_scene.RegionInfo.EstateSettings.Save();
@@ -334,7 +334,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
334 334
335 break; 335 break;
336 case 512: 336 case 512:
337 if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, true) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) 337 if (m_scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, true) || m_scene.Permissions.BypassPermissions())
338 { 338 {
339 m_scene.RegionInfo.EstateSettings.RemoveEstateManager(user); 339 m_scene.RegionInfo.EstateSettings.RemoveEstateManager(user);
340 m_scene.RegionInfo.EstateSettings.Save(); 340 m_scene.RegionInfo.EstateSettings.Save();
@@ -742,7 +742,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
742 args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID; 742 args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID;
743 743
744 // Fudge estate owner 744 // Fudge estate owner
745 //if (m_scene.ExternalChecks.ExternalChecksCanBeGodLike(remoteClient.AgentId)) 745 //if (m_scene.Permissions.IsGod(remoteClient.AgentId))
746 // args.SimOwner = remoteClient.AgentId; 746 // args.SimOwner = remoteClient.AgentId;
747 747
748 args.terrainBase0 = UUID.Zero; 748 args.terrainBase0 = UUID.Zero;
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs
index 99128bc..fe2458c 100644
--- a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs
@@ -729,7 +729,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
729 729
730 //If we are still here, then they are subdividing within one piece of land 730 //If we are still here, then they are subdividing within one piece of land
731 //Check owner 731 //Check owner
732 if (!m_scene.ExternalChecks.ExternalChecksCanEditParcel(attempting_user_id, startLandObject)) 732 if (!m_scene.Permissions.CanEditParcel(attempting_user_id, startLandObject))
733 { 733 {
734 return; 734 return;
735 } 735 }
@@ -797,7 +797,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
797 { 797 {
798 return; 798 return;
799 } 799 }
800 if (!m_scene.ExternalChecks.ExternalChecksCanEditParcel(attempting_user_id, masterLandObject)) 800 if (!m_scene.Permissions.CanEditParcel(attempting_user_id, masterLandObject))
801 { 801 {
802 return; 802 return;
803 } 803 }
@@ -1009,7 +1009,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
1009 1009
1010 if (land != null) 1010 if (land != null)
1011 { 1011 {
1012 if (m_scene.ExternalChecks.ExternalChecksCanBeGodLike(remote_client.AgentId)) 1012 if (m_scene.Permissions.IsGod(remote_client.AgentId))
1013 { 1013 {
1014 land.landData.OwnerID = ownerID; 1014 land.landData.OwnerID = ownerID;
1015 1015
@@ -1029,7 +1029,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
1029 1029
1030 if (land != null) 1030 if (land != null)
1031 { 1031 {
1032 if (m_scene.ExternalChecks.ExternalChecksCanAbandonParcel(remote_client.AgentId, land)) 1032 if (m_scene.Permissions.CanAbandonParcel(remote_client.AgentId, land))
1033 { 1033 {
1034 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) 1034 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero)
1035 land.landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; 1035 land.landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
@@ -1051,7 +1051,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
1051 1051
1052 if (land != null) 1052 if (land != null)
1053 { 1053 {
1054 if (m_scene.ExternalChecks.ExternalChecksCanReclaimParcel(remote_client.AgentId, land)) 1054 if (m_scene.Permissions.CanReclaimParcel(remote_client.AgentId, land))
1055 { 1055 {
1056 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) 1056 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero)
1057 land.landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; 1057 land.landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
@@ -1321,7 +1321,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
1321 1321
1322 if (land == null) return; 1322 if (land == null) return;
1323 1323
1324 if (!m_scene.ExternalChecks.ExternalChecksCanEditParcel(remoteClient.AgentId, land)) 1324 if (!m_scene.Permissions.CanEditParcel(remoteClient.AgentId, land))
1325 return; 1325 return;
1326 1326
1327 land.landData.OtherCleanTime = otherCleanTime; 1327 land.landData.OtherCleanTime = otherCleanTime;
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs b/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs
index 1483118..89256fa 100644
--- a/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs
+++ b/OpenSim/Region/Environment/Modules/World/Land/LandObject.cs
@@ -181,14 +181,14 @@ namespace OpenSim.Region.Environment.Modules.World.Land
181 181
182 public void updateLandProperties(LandUpdateArgs args, IClientAPI remote_client) 182 public void updateLandProperties(LandUpdateArgs args, IClientAPI remote_client)
183 { 183 {
184 if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId,this)) 184 if (m_scene.Permissions.CanEditParcel(remote_client.AgentId,this))
185 { 185 {
186 //Needs later group support 186 //Needs later group support
187 LandData newData = landData.Copy(); 187 LandData newData = landData.Copy();
188 188
189 if (args.AuthBuyerID != newData.AuthBuyerID || args.SalePrice != newData.SalePrice) 189 if (args.AuthBuyerID != newData.AuthBuyerID || args.SalePrice != newData.SalePrice)
190 { 190 {
191 if (m_scene.ExternalChecks.ExternalChecksCanSellParcel(remote_client.AgentId, this)) 191 if (m_scene.Permissions.CanSellParcel(remote_client.AgentId, this))
192 { 192 {
193 newData.AuthBuyerID = args.AuthBuyerID; 193 newData.AuthBuyerID = args.AuthBuyerID;
194 newData.SalePrice = args.SalePrice; 194 newData.SalePrice = args.SalePrice;
@@ -647,7 +647,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
647 647
648 public void sendForceObjectSelect(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client) 648 public void sendForceObjectSelect(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client)
649 { 649 {
650 if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId, this)) 650 if (m_scene.Permissions.CanEditParcel(remote_client.AgentId, this))
651 { 651 {
652 List<uint> resultLocalIDs = new List<uint>(); 652 List<uint> resultLocalIDs = new List<uint>();
653 try 653 try
@@ -697,7 +697,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
697 /// </param> 697 /// </param>
698 public void sendLandObjectOwners(IClientAPI remote_client) 698 public void sendLandObjectOwners(IClientAPI remote_client)
699 { 699 {
700 if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId, this)) 700 if (m_scene.Permissions.CanEditParcel(remote_client.AgentId, this))
701 { 701 {
702 Dictionary<UUID, int> primCount = new Dictionary<UUID, int>(); 702 Dictionary<UUID, int> primCount = new Dictionary<UUID, int>();
703 703
diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
index d7865b2..9eeff0f 100644
--- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
@@ -180,50 +180,50 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions
180 m_log.Debug("[PERMISSIONS]: Enabling all region service permission checks"); 180 m_log.Debug("[PERMISSIONS]: Enabling all region service permission checks");
181 181
182 //Register functions with Scene External Checks! 182 //Register functions with Scene External Checks!
183 m_scene.ExternalChecks.addBypassPermissions(BypassPermissions); //FULLY IMPLEMENTED 183 m_scene.Permissions.AddBypassPermissionsHandler(BypassPermissions); //FULLY IMPLEMENTED
184 m_scene.ExternalChecks.addSetBypassPermissions(SetBypassPermissions); //FULLY IMPLEMENTED 184 m_scene.Permissions.AddSetBypassPermissionsHandler(SetBypassPermissions); //FULLY IMPLEMENTED
185 m_scene.ExternalChecks.addPropagatePermissions(PropagatePermissions); //FULLY IMPLEMENTED 185 m_scene.Permissions.AddPropagatePermissionsHandler(PropagatePermissions); //FULLY IMPLEMENTED
186 m_scene.ExternalChecks.addCheckAbandonParcel(CanAbandonParcel); //FULLY IMPLEMENTED 186 m_scene.Permissions.AddGenerateClientFlagsHandler(GenerateClientFlags); //NOT YET FULLY IMPLEMENTED
187 m_scene.ExternalChecks.addCheckReclaimParcel(CanReclaimParcel); //FULLY IMPLEMENTED 187 m_scene.Permissions.AddAbandonParcelHandler(CanAbandonParcel); //FULLY IMPLEMENTED
188 m_scene.ExternalChecks.addGenerateClientFlags(GenerateClientFlags); //NOT YET FULLY IMPLEMENTED 188 m_scene.Permissions.AddReclaimParcelHandler(CanReclaimParcel); //FULLY IMPLEMENTED
189 m_scene.ExternalChecks.addCheckBeGodLike(CanBeGodLike); //FULLY IMPLEMENTED 189 m_scene.Permissions.AddIsGodHandler(IsGod); //FULLY IMPLEMENTED
190 m_scene.ExternalChecks.addCheckDuplicateObject(CanDuplicateObject); //FULLY IMPLEMENTED 190 m_scene.Permissions.AddDuplicateObjectHandler(CanDuplicateObject); //FULLY IMPLEMENTED
191 m_scene.ExternalChecks.addCheckDeleteObject(CanDeleteObject); //MAYBE FULLY IMPLEMENTED 191 m_scene.Permissions.AddDeleteObjectHandler(CanDeleteObject); //MAYBE FULLY IMPLEMENTED
192 m_scene.ExternalChecks.addCheckEditObject(CanEditObject);//MAYBE FULLY IMPLEMENTED 192 m_scene.Permissions.AddEditObjectHandler(CanEditObject);//MAYBE FULLY IMPLEMENTED
193 m_scene.ExternalChecks.addCheckEditParcel(CanEditParcel); //FULLY IMPLEMENTED 193 m_scene.Permissions.AddEditParcelHandler(CanEditParcel); //FULLY IMPLEMENTED
194 m_scene.ExternalChecks.addCheckInstantMessage(CanInstantMessage); //FULLY IMPLEMENTED 194 m_scene.Permissions.AddInstantMessageHandler(CanInstantMessage); //FULLY IMPLEMENTED
195 m_scene.ExternalChecks.addCheckInventoryTransfer(CanInventoryTransfer); //NOT YET IMPLEMENTED 195 m_scene.Permissions.AddInventoryTransferHandler(CanInventoryTransfer); //NOT YET IMPLEMENTED
196 m_scene.ExternalChecks.addCheckIssueEstateCommand(CanIssueEstateCommand); //FULLY IMPLEMENTED 196 m_scene.Permissions.AddIssueEstateCommandHandler(CanIssueEstateCommand); //FULLY IMPLEMENTED
197 m_scene.ExternalChecks.addCheckMoveObject(CanMoveObject); //HOPEFULLY FULLY IMPLEMENTED 197 m_scene.Permissions.AddMoveObjectHandler(CanMoveObject); //HOPEFULLY FULLY IMPLEMENTED
198 m_scene.ExternalChecks.addCheckObjectEntry(CanObjectEntry); //FULLY IMPLEMENTED 198 m_scene.Permissions.AddObjectEntryHandler(CanObjectEntry); //FULLY IMPLEMENTED
199 m_scene.ExternalChecks.addCheckReturnObject(CanReturnObject); //NOT YET IMPLEMENTED 199 m_scene.Permissions.AddReturnObjectHandler(CanReturnObject); //NOT YET IMPLEMENTED
200 m_scene.ExternalChecks.addCheckRezObject(CanRezObject); //HOPEFULLY FULLY IMPLEMENTED 200 m_scene.Permissions.AddRezObjectHandler(CanRezObject); //HOPEFULLY FULLY IMPLEMENTED
201 m_scene.ExternalChecks.addCheckRunConsoleCommand(CanRunConsoleCommand); //FULLY IMPLEMENTED 201 m_scene.Permissions.AddRunConsoleCommandHandler(CanRunConsoleCommand); //FULLY IMPLEMENTED
202 m_scene.ExternalChecks.addCheckRunScript(CanRunScript); //NOT YET IMPLEMENTED 202 m_scene.Permissions.AddRunScriptHandler(CanRunScript); //NOT YET IMPLEMENTED
203 m_scene.ExternalChecks.addCheckSellParcel(CanSellParcel); //FULLY IMPLEMENTED 203 m_scene.Permissions.AddSellParcelHandler(CanSellParcel); //FULLY IMPLEMENTED
204 m_scene.ExternalChecks.addCheckTakeObject(CanTakeObject); //FULLY IMPLEMENTED 204 m_scene.Permissions.AddTakeObjectHandler(CanTakeObject); //FULLY IMPLEMENTED
205 m_scene.ExternalChecks.addCheckTakeCopyObject(CanTakeCopyObject); //FULLY IMPLEMENTED 205 m_scene.Permissions.AddTakeCopyObjectHandler(CanTakeCopyObject); //FULLY IMPLEMENTED
206 m_scene.ExternalChecks.addCheckTerraformLand(CanTerraformLand); //FULL IMPLEMENTED (POINT ONLY!!! NOT AREA!!!) 206 m_scene.Permissions.AddTerraformLandHandler(CanTerraformLand); //FULL IMPLEMENTED (POINT ONLY!!! NOT AREA!!!)
207 m_scene.ExternalChecks.addCheckCanLinkObject(CanLinkObject); //NOT YET IMPLEMENTED 207 m_scene.Permissions.AddCanLinkObjectHandler(CanLinkObject); //NOT YET IMPLEMENTED
208 m_scene.ExternalChecks.addCheckCanDelinkObject(CanDelinkObject); //NOT YET IMPLEMENTED 208 m_scene.Permissions.AddCanDelinkObjectHandler(CanDelinkObject); //NOT YET IMPLEMENTED
209 m_scene.ExternalChecks.addCheckCanBuyLand(CanBuyLand); //NOT YET IMPLEMENTED 209 m_scene.Permissions.AddCanBuyLandHandler(CanBuyLand); //NOT YET IMPLEMENTED
210 210
211 m_scene.ExternalChecks.addCheckViewNotecard(CanViewNotecard); //NOT YET IMPLEMENTED 211 m_scene.Permissions.AddViewNotecardHandler(CanViewNotecard); //NOT YET IMPLEMENTED
212 m_scene.ExternalChecks.addCheckViewScript(CanViewScript); //NOT YET IMPLEMENTED 212 m_scene.Permissions.AddViewScriptHandler(CanViewScript); //NOT YET IMPLEMENTED
213 m_scene.ExternalChecks.addCheckEditNotecard(CanEditNotecard); //NOT YET IMPLEMENTED 213 m_scene.Permissions.AddEditNotecardHandler(CanEditNotecard); //NOT YET IMPLEMENTED
214 m_scene.ExternalChecks.addCheckEditScript(CanEditScript); //NOT YET IMPLEMENTED 214 m_scene.Permissions.AddEditScriptHandler(CanEditScript); //NOT YET IMPLEMENTED
215 215
216 m_scene.ExternalChecks.addCheckCanCreateObjectInventory(CanCreateObjectInventory); //NOT IMPLEMENTED HERE 216 m_scene.Permissions.AddCanCreateObjectInventoryHandler(CanCreateObjectInventory); //NOT IMPLEMENTED HERE
217 m_scene.ExternalChecks.addCheckEditObjectInventory(CanEditObjectInventory);//MAYBE FULLY IMPLEMENTED 217 m_scene.Permissions.AddEditObjectInventoryHandler(CanEditObjectInventory);//MAYBE FULLY IMPLEMENTED
218 m_scene.ExternalChecks.addCheckCanCopyObjectInventory(CanCopyObjectInventory); //NOT YET IMPLEMENTED 218 m_scene.Permissions.AddCanCopyObjectInventoryHandler(CanCopyObjectInventory); //NOT YET IMPLEMENTED
219 m_scene.ExternalChecks.addCheckCanDeleteObjectInventory(CanDeleteObjectInventory); //NOT YET IMPLEMENTED 219 m_scene.Permissions.AddCanDeleteObjectInventoryHandler(CanDeleteObjectInventory); //NOT YET IMPLEMENTED
220 220
221 m_scene.ExternalChecks.addCheckCanCreateUserInventory(CanCreateUserInventory); //NOT YET IMPLEMENTED 221 m_scene.Permissions.AddCanCreateUserInventoryHandler(CanCreateUserInventory); //NOT YET IMPLEMENTED
222 m_scene.ExternalChecks.addCheckCanCopyUserInventory(CanCopyUserInventory); //NOT YET IMPLEMENTED 222 m_scene.Permissions.AddCanCopyUserInventoryHandler(CanCopyUserInventory); //NOT YET IMPLEMENTED
223 m_scene.ExternalChecks.addCheckCanEditUserInventory(CanEditUserInventory); //NOT YET IMPLEMENTED 223 m_scene.Permissions.AddCanEditUserInventoryHandler(CanEditUserInventory); //NOT YET IMPLEMENTED
224 m_scene.ExternalChecks.addCheckCanDeleteUserInventory(CanDeleteUserInventory); //NOT YET IMPLEMENTED 224 m_scene.Permissions.AddCanDeleteUserInventoryHandler(CanDeleteUserInventory); //NOT YET IMPLEMENTED
225 225
226 m_scene.ExternalChecks.addCheckCanTeleport(CanTeleport); //NOT YET IMPLEMENTED 226 m_scene.Permissions.AddCanTeleportHandler(CanTeleport); //NOT YET IMPLEMENTED
227 227
228 //Register Debug Commands 228 //Register Debug Commands
229 Command bypassCommand = new Command("bypass", CommandIntentions.COMMAND_HAZARDOUS, InterfaceBypassPermissions, "Force the permissions a specific way to test permissions"); 229 Command bypassCommand = new Command("bypass", CommandIntentions.COMMAND_HAZARDOUS, InterfaceBypassPermissions, "Force the permissions a specific way to test permissions");
@@ -651,7 +651,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions
651 return GenericParcelPermission(user, parcel); 651 return GenericParcelPermission(user, parcel);
652 } 652 }
653 653
654 private bool CanBeGodLike(UUID user, Scene scene) 654 private bool IsGod(UUID user, Scene scene)
655 { 655 {
656 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); 656 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
657 if (m_bypassPermissions) return m_bypassPermissionsValue; 657 if (m_bypassPermissions) return m_bypassPermissionsValue;
diff --git a/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs b/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs
index 3170724..5646de1 100644
--- a/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Terrain/TerrainModule.cs
@@ -616,7 +616,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain
616 private void client_OnModifyTerrain(UUID user, float height, float seconds, byte size, byte action, 616 private void client_OnModifyTerrain(UUID user, float height, float seconds, byte size, byte action,
617 float north, float west, float south, float east, UUID agentId) 617 float north, float west, float south, float east, UUID agentId)
618 { 618 {
619 bool god = m_scene.ExternalChecks.ExternalChecksCanBeGodLike(user); 619 bool god = m_scene.Permissions.IsGod(user);
620 bool allowed = false; 620 bool allowed = false;
621 if (north == south && east == west) 621 if (north == south && east == west)
622 { 622 {
@@ -641,7 +641,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain
641 int y = zy + dy; 641 int y = zy + dy;
642 if (x>=0 && y>=0 && x<m_channel.Width && y<m_channel.Height) 642 if (x>=0 && y>=0 && x<m_channel.Width && y<m_channel.Height)
643 { 643 {
644 if (m_scene.ExternalChecks.ExternalChecksCanTerraformLand(agentId, new Vector3(x,y,0))) 644 if (m_scene.Permissions.CanTerraformLand(agentId, new Vector3(x,y,0)))
645 { 645 {
646 allowMask[x, y] = true; 646 allowMask[x, y] = true;
647 allowed = true; 647 allowed = true;
@@ -679,7 +679,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain
679 { 679 {
680 if (y < north && y > south) 680 if (y < north && y > south)
681 { 681 {
682 if (m_scene.ExternalChecks.ExternalChecksCanTerraformLand(agentId, new Vector3(x,y,0))) 682 if (m_scene.Permissions.CanTerraformLand(agentId, new Vector3(x,y,0)))
683 { 683 {
684 fillArea[x, y] = true; 684 fillArea[x, y] = true;
685 allowed = true; 685 allowed = true;
@@ -709,7 +709,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain
709 // Not a good permissions check (see client_OnModifyTerrain above), need to check the entire area. 709 // Not a good permissions check (see client_OnModifyTerrain above), need to check the entire area.
710 // for now check a point in the centre of the region 710 // for now check a point in the centre of the region
711 711
712 if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remoteClient.AgentId, true)) 712 if (m_scene.Permissions.CanIssueEstateCommand(remoteClient.AgentId, true))
713 { 713 {
714 InterfaceBakeTerrain(null); //bake terrain does not use the passed in parameter 714 InterfaceBakeTerrain(null); //bake terrain does not use the passed in parameter
715 } 715 }
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index 686f4ba..9b30d87 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -105,7 +105,7 @@ namespace OpenSim.Region.Environment.Scenes
105 userInfo.AddItem(item); 105 userInfo.AddItem(item);
106 106
107 int userlevel = 0; 107 int userlevel = 0;
108 if (ExternalChecks.ExternalChecksCanBeGodLike(AgentID)) 108 if (Permissions.IsGod(AgentID))
109 { 109 {
110 userlevel = 1; 110 userlevel = 1;
111 } 111 }
@@ -171,7 +171,7 @@ namespace OpenSim.Region.Environment.Scenes
171 { 171 {
172 if ((InventoryType) item.InvType == InventoryType.Notecard) 172 if ((InventoryType) item.InvType == InventoryType.Notecard)
173 { 173 {
174 if (!ExternalChecks.ExternalChecksCanEditNotecard(itemID, UUID.Zero, remoteClient.AgentId)) 174 if (!Permissions.CanEditNotecard(itemID, UUID.Zero, remoteClient.AgentId))
175 { 175 {
176 remoteClient.SendAgentAlertMessage("Insufficient permissions to edit notecard", false); 176 remoteClient.SendAgentAlertMessage("Insufficient permissions to edit notecard", false);
177 return UUID.Zero; 177 return UUID.Zero;
@@ -180,7 +180,7 @@ namespace OpenSim.Region.Environment.Scenes
180 } 180 }
181 else if ((InventoryType) item.InvType == InventoryType.LSL) 181 else if ((InventoryType) item.InvType == InventoryType.LSL)
182 { 182 {
183 if (!ExternalChecks.ExternalChecksCanEditScript(itemID, UUID.Zero, remoteClient.AgentId)) 183 if (!Permissions.CanEditScript(itemID, UUID.Zero, remoteClient.AgentId))
184 { 184 {
185 remoteClient.SendAgentAlertMessage("Insufficient permissions to edit script", false); 185 remoteClient.SendAgentAlertMessage("Insufficient permissions to edit script", false);
186 return UUID.Zero; 186 return UUID.Zero;
@@ -243,7 +243,7 @@ namespace OpenSim.Region.Environment.Scenes
243 public void CapsUpdateTaskInventoryScriptAsset(IClientAPI remoteClient, UUID itemId, 243 public void CapsUpdateTaskInventoryScriptAsset(IClientAPI remoteClient, UUID itemId,
244 UUID primId, bool isScriptRunning, byte[] data) 244 UUID primId, bool isScriptRunning, byte[] data)
245 { 245 {
246 if (!ExternalChecks.ExternalChecksCanEditScript(itemId, primId, remoteClient.AgentId)) 246 if (!Permissions.CanEditScript(itemId, primId, remoteClient.AgentId))
247 { 247 {
248 remoteClient.SendAgentAlertMessage("Insufficient permissions to edit script", false); 248 remoteClient.SendAgentAlertMessage("Insufficient permissions to edit script", false);
249 return; 249 return;
@@ -432,7 +432,7 @@ namespace OpenSim.Region.Environment.Scenes
432 432
433 if (item != null) 433 if (item != null)
434 { 434 {
435 if (!ExternalChecks.ExternalChecksBypassPermissions()) 435 if (!Permissions.BypassPermissions())
436 { 436 {
437 if ((item.CurrentPermissions & (uint)PermissionMask.Transfer) == 0) 437 if ((item.CurrentPermissions & (uint)PermissionMask.Transfer) == 0)
438 return null; 438 return null;
@@ -458,7 +458,7 @@ namespace OpenSim.Region.Environment.Scenes
458 itemCopy.AssetType = item.AssetType; 458 itemCopy.AssetType = item.AssetType;
459 itemCopy.InvType = item.InvType; 459 itemCopy.InvType = item.InvType;
460 itemCopy.Folder = UUID.Zero; 460 itemCopy.Folder = UUID.Zero;
461 if (ExternalChecks.ExternalChecksPropagatePermissions()) 461 if (Permissions.PropagatePermissions())
462 { 462 {
463 if (item.InvType == 6) 463 if (item.InvType == 6)
464 { 464 {
@@ -500,7 +500,7 @@ namespace OpenSim.Region.Environment.Scenes
500 500
501 recipientUserInfo.AddItem(itemCopy); 501 recipientUserInfo.AddItem(itemCopy);
502 502
503 if (!ExternalChecks.ExternalChecksBypassPermissions()) 503 if (!Permissions.BypassPermissions())
504 { 504 {
505 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) 505 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
506 senderUserInfo.DeleteItem(itemId); 506 senderUserInfo.DeleteItem(itemId);
@@ -764,7 +764,7 @@ namespace OpenSim.Region.Environment.Scenes
764 { 764 {
765 m_log.DebugFormat("[AGENT INVENTORY]: Received request to create inventory item {0} in folder {1}", name, folderID); 765 m_log.DebugFormat("[AGENT INVENTORY]: Received request to create inventory item {0} in folder {1}", name, folderID);
766 766
767 if (!ExternalChecks.ExternalChecksCanCreateUserInventory(invType, remoteClient.AgentId)) 767 if (!Permissions.CanCreateUserInventory(invType, remoteClient.AgentId))
768 return; 768 return;
769 769
770 if (transactionID == UUID.Zero) 770 if (transactionID == UUID.Zero)
@@ -975,7 +975,7 @@ namespace OpenSim.Region.Environment.Scenes
975 agentItem.InvType = taskItem.InvType; 975 agentItem.InvType = taskItem.InvType;
976 agentItem.Flags = taskItem.Flags; 976 agentItem.Flags = taskItem.Flags;
977 977
978 if ((destAgent != taskItem.OwnerID) && ExternalChecks.ExternalChecksPropagatePermissions()) 978 if ((destAgent != taskItem.OwnerID) && Permissions.PropagatePermissions())
979 { 979 {
980 agentItem.BasePermissions = taskItem.NextPermissions; 980 agentItem.BasePermissions = taskItem.NextPermissions;
981 agentItem.CurrentPermissions = taskItem.NextPermissions | 8; 981 agentItem.CurrentPermissions = taskItem.NextPermissions | 8;
@@ -992,7 +992,7 @@ namespace OpenSim.Region.Environment.Scenes
992 agentItem.GroupPermissions = taskItem.GroupPermissions; 992 agentItem.GroupPermissions = taskItem.GroupPermissions;
993 } 993 }
994 994
995 if (!ExternalChecks.ExternalChecksBypassPermissions()) 995 if (!Permissions.BypassPermissions())
996 { 996 {
997 if ((taskItem.CurrentPermissions & (uint)PermissionMask.Copy) == 0) 997 if ((taskItem.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
998 part.Inventory.RemoveInventoryItem(itemId); 998 part.Inventory.RemoveInventoryItem(itemId);
@@ -1165,7 +1165,7 @@ namespace OpenSim.Region.Environment.Scenes
1165 1165
1166 if (destPart.OwnerID != part.OwnerID) 1166 if (destPart.OwnerID != part.OwnerID)
1167 { 1167 {
1168 if (ExternalChecks.ExternalChecksPropagatePermissions()) 1168 if (Permissions.PropagatePermissions())
1169 { 1169 {
1170 destTaskItem.CurrentPermissions = srcTaskItem.CurrentPermissions & 1170 destTaskItem.CurrentPermissions = srcTaskItem.CurrentPermissions &
1171 srcTaskItem.NextPermissions; 1171 srcTaskItem.NextPermissions;
@@ -1262,7 +1262,7 @@ namespace OpenSim.Region.Environment.Scenes
1262 // AllowInventoryDrop flag has been set. Don't however let 1262 // AllowInventoryDrop flag has been set. Don't however let
1263 // them update an item unless they pass the external checks 1263 // them update an item unless they pass the external checks
1264 // 1264 //
1265 if (!ExternalChecks.ExternalChecksCanEditObjectInventory(part.UUID, remoteClient.AgentId) 1265 if (!Permissions.CanEditObjectInventory(part.UUID, remoteClient.AgentId)
1266 && (currentItem != null || !allowInventoryDrop)) 1266 && (currentItem != null || !allowInventoryDrop))
1267 return; 1267 return;
1268 1268
@@ -1291,7 +1291,7 @@ namespace OpenSim.Region.Environment.Scenes
1291 "[PRIM INVENTORY]: Update with item {0} requested of prim {1} for {2}", 1291 "[PRIM INVENTORY]: Update with item {0} requested of prim {1} for {2}",
1292 item.Name, primLocalID, remoteClient.Name); 1292 item.Name, primLocalID, remoteClient.Name);
1293 part.GetProperties(remoteClient); 1293 part.GetProperties(remoteClient);
1294 if (!ExternalChecks.ExternalChecksBypassPermissions()) 1294 if (!Permissions.BypassPermissions())
1295 { 1295 {
1296 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) 1296 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
1297 RemoveInventoryItem(remoteClient, itemID); 1297 RemoveInventoryItem(remoteClient, itemID);
@@ -1358,7 +1358,7 @@ namespace OpenSim.Region.Environment.Scenes
1358 SceneObjectPart part = GetSceneObjectPart(localID); 1358 SceneObjectPart part = GetSceneObjectPart(localID);
1359 if (part != null) 1359 if (part != null)
1360 { 1360 {
1361 if (!ExternalChecks.ExternalChecksCanEditObjectInventory(part.UUID, remoteClient.AgentId)) 1361 if (!Permissions.CanEditObjectInventory(part.UUID, remoteClient.AgentId))
1362 return; 1362 return;
1363 1363
1364 part.ParentGroup.AddInventoryItem(remoteClient, localID, item, copyID); 1364 part.ParentGroup.AddInventoryItem(remoteClient, localID, item, copyID);
@@ -1400,7 +1400,7 @@ namespace OpenSim.Region.Environment.Scenes
1400 if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) 1400 if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0)
1401 return; 1401 return;
1402 1402
1403 if (!ExternalChecks.ExternalChecksCanCreateObjectInventory( 1403 if (!Permissions.CanCreateObjectInventory(
1404 itemBase.InvType, part.UUID, remoteClient.AgentId)) 1404 itemBase.InvType, part.UUID, remoteClient.AgentId))
1405 return; 1405 return;
1406 1406
@@ -1506,7 +1506,7 @@ namespace OpenSim.Region.Environment.Scenes
1506 1506
1507 if (destPart.OwnerID != srcPart.OwnerID) 1507 if (destPart.OwnerID != srcPart.OwnerID)
1508 { 1508 {
1509 if (ExternalChecks.ExternalChecksPropagatePermissions()) 1509 if (Permissions.PropagatePermissions())
1510 { 1510 {
1511 destTaskItem.CurrentPermissions = srcTaskItem.CurrentPermissions & 1511 destTaskItem.CurrentPermissions = srcTaskItem.CurrentPermissions &
1512 srcTaskItem.NextPermissions; 1512 srcTaskItem.NextPermissions;
@@ -1567,20 +1567,20 @@ namespace OpenSim.Region.Environment.Scenes
1567 if (destination == 1) // Take Copy 1567 if (destination == 1) // Take Copy
1568 { 1568 {
1569 permissionToTake = 1569 permissionToTake =
1570 ExternalChecks.ExternalChecksCanTakeCopyObject( 1570 Permissions.CanTakeCopyObject(
1571 grp.UUID, 1571 grp.UUID,
1572 remoteClient.AgentId); 1572 remoteClient.AgentId);
1573 } 1573 }
1574 else if (destination == 5) // God take copy 1574 else if (destination == 5) // God take copy
1575 { 1575 {
1576 permissionToTake = 1576 permissionToTake =
1577 ExternalChecks.ExternalChecksCanBeGodLike( 1577 Permissions.IsGod(
1578 remoteClient.AgentId); 1578 remoteClient.AgentId);
1579 } 1579 }
1580 else if (destination == 4) // Take 1580 else if (destination == 4) // Take
1581 { 1581 {
1582 permissionToTake = 1582 permissionToTake =
1583 ExternalChecks.ExternalChecksCanTakeObject( 1583 Permissions.CanTakeObject(
1584 grp.UUID, 1584 grp.UUID,
1585 remoteClient.AgentId); 1585 remoteClient.AgentId);
1586 1586
@@ -1590,11 +1590,11 @@ namespace OpenSim.Region.Environment.Scenes
1590 else if (destination == 6) //Delete 1590 else if (destination == 6) //Delete
1591 { 1591 {
1592 permissionToTake = 1592 permissionToTake =
1593 ExternalChecks.ExternalChecksCanDeleteObject( 1593 Permissions.CanDeleteObject(
1594 grp.UUID, 1594 grp.UUID,
1595 remoteClient.AgentId); 1595 remoteClient.AgentId);
1596 permissionToDelete = 1596 permissionToDelete =
1597 ExternalChecks.ExternalChecksCanDeleteObject( 1597 Permissions.CanDeleteObject(
1598 grp.UUID, 1598 grp.UUID,
1599 remoteClient.AgentId); 1599 remoteClient.AgentId);
1600 } 1600 }
@@ -1603,11 +1603,11 @@ namespace OpenSim.Region.Environment.Scenes
1603 if (remoteClient != null) 1603 if (remoteClient != null)
1604 { 1604 {
1605 permissionToTake = 1605 permissionToTake =
1606 ExternalChecks.ExternalChecksCanDeleteObject( 1606 Permissions.CanDeleteObject(
1607 grp.UUID, 1607 grp.UUID,
1608 remoteClient.AgentId); 1608 remoteClient.AgentId);
1609 permissionToDelete = 1609 permissionToDelete =
1610 ExternalChecks.ExternalChecksCanDeleteObject( 1610 Permissions.CanDeleteObject(
1611 grp.UUID, 1611 grp.UUID,
1612 remoteClient.AgentId); 1612 remoteClient.AgentId);
1613 if (permissionToDelete) 1613 if (permissionToDelete)
@@ -1722,7 +1722,7 @@ namespace OpenSim.Region.Environment.Scenes
1722 item.InvType = (int)InventoryType.Object; 1722 item.InvType = (int)InventoryType.Object;
1723 item.Folder = folderID; 1723 item.Folder = folderID;
1724 1724
1725 if (remoteClient != null && (remoteClient.AgentId != objectGroup.RootPart.OwnerID) && ExternalChecks.ExternalChecksPropagatePermissions()) 1725 if (remoteClient != null && (remoteClient.AgentId != objectGroup.RootPart.OwnerID) && Permissions.PropagatePermissions())
1726 { 1726 {
1727 uint perms=objectGroup.GetEffectivePermissions(); 1727 uint perms=objectGroup.GetEffectivePermissions();
1728 uint nextPerms=(perms & 7) << 13; 1728 uint nextPerms=(perms & 7) << 13;
@@ -1877,7 +1877,7 @@ namespace OpenSim.Region.Environment.Scenes
1877 1877
1878 item.Folder = UUID.Zero; // Objects folder! 1878 item.Folder = UUID.Zero; // Objects folder!
1879 1879
1880 if ((remoteClient.AgentId != grp.RootPart.OwnerID) && ExternalChecks.ExternalChecksPropagatePermissions()) 1880 if ((remoteClient.AgentId != grp.RootPart.OwnerID) && Permissions.PropagatePermissions())
1881 { 1881 {
1882 item.BasePermissions = grp.RootPart.NextOwnerMask; 1882 item.BasePermissions = grp.RootPart.NextOwnerMask;
1883 item.CurrentPermissions = grp.RootPart.NextOwnerMask; 1883 item.CurrentPermissions = grp.RootPart.NextOwnerMask;
@@ -1988,7 +1988,7 @@ namespace OpenSim.Region.Environment.Scenes
1988 { 1988 {
1989 string xmlData = Utils.BytesToString(rezAsset.Data); 1989 string xmlData = Utils.BytesToString(rezAsset.Data);
1990 SceneObjectGroup group = new SceneObjectGroup(xmlData, true); 1990 SceneObjectGroup group = new SceneObjectGroup(xmlData, true);
1991 if (!ExternalChecks.ExternalChecksCanRezObject( 1991 if (!Permissions.CanRezObject(
1992 group.Children.Count, remoteClient.AgentId, pos) 1992 group.Children.Count, remoteClient.AgentId, pos)
1993 && !attachment) 1993 && !attachment)
1994 { 1994 {
@@ -2043,7 +2043,7 @@ namespace OpenSim.Region.Environment.Scenes
2043 rootPart.ObjectSaleType = 0; 2043 rootPart.ObjectSaleType = 0;
2044 rootPart.SalePrice = 10; 2044 rootPart.SalePrice = 10;
2045 2045
2046 if (ExternalChecks.ExternalChecksPropagatePermissions()) 2046 if (Permissions.PropagatePermissions())
2047 { 2047 {
2048 if ((item.CurrentPermissions & 8) != 0) 2048 if ((item.CurrentPermissions & 8) != 0)
2049 { 2049 {
@@ -2093,7 +2093,7 @@ namespace OpenSim.Region.Environment.Scenes
2093 if (!attachment) 2093 if (!attachment)
2094 rootPart.ScheduleFullUpdate(); 2094 rootPart.ScheduleFullUpdate();
2095 2095
2096 if (!ExternalChecks.ExternalChecksBypassPermissions()) 2096 if (!Permissions.BypassPermissions())
2097 { 2097 {
2098 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) 2098 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
2099 userInfo.DeleteItem(item.ID); 2099 userInfo.DeleteItem(item.ID);
@@ -2133,7 +2133,7 @@ namespace OpenSim.Region.Environment.Scenes
2133 string xmlData = Utils.BytesToString(rezAsset.Data); 2133 string xmlData = Utils.BytesToString(rezAsset.Data);
2134 SceneObjectGroup group = new SceneObjectGroup(xmlData, true); 2134 SceneObjectGroup group = new SceneObjectGroup(xmlData, true);
2135 2135
2136 if (!ExternalChecks.ExternalChecksCanRezObject(group.Children.Count, ownerID, pos)) 2136 if (!Permissions.CanRezObject(group.Children.Count, ownerID, pos))
2137 { 2137 {
2138 return null; 2138 return null;
2139 } 2139 }
@@ -2158,7 +2158,7 @@ namespace OpenSim.Region.Environment.Scenes
2158 2158
2159 if (rootPart.OwnerID != item.OwnerID) 2159 if (rootPart.OwnerID != item.OwnerID)
2160 { 2160 {
2161 if (ExternalChecks.ExternalChecksPropagatePermissions()) 2161 if (Permissions.PropagatePermissions())
2162 { 2162 {
2163 if ((item.CurrentPermissions & 8) != 0) 2163 if ((item.CurrentPermissions & 8) != 0)
2164 { 2164 {
@@ -2197,7 +2197,7 @@ namespace OpenSim.Region.Environment.Scenes
2197 group.CreateScriptInstances(param, true, DefaultScriptEngine, 2); 2197 group.CreateScriptInstances(param, true, DefaultScriptEngine, 2);
2198 rootPart.ScheduleFullUpdate(); 2198 rootPart.ScheduleFullUpdate();
2199 2199
2200 if (!ExternalChecks.ExternalChecksBypassPermissions()) 2200 if (!Permissions.BypassPermissions())
2201 { 2201 {
2202 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) 2202 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
2203 sourcePart.Inventory.RemoveInventoryItem(item.ItemID); 2203 sourcePart.Inventory.RemoveInventoryItem(item.ItemID);
@@ -2315,7 +2315,7 @@ namespace OpenSim.Region.Environment.Scenes
2315 ScenePresence presence; 2315 ScenePresence presence;
2316 if (TryGetAvatar(remoteClient.AgentId, out presence)) 2316 if (TryGetAvatar(remoteClient.AgentId, out presence))
2317 { 2317 {
2318 if (!ExternalChecks.ExternalChecksCanRezObject(part.ParentGroup.Children.Count, remoteClient.AgentId, presence.AbsolutePosition)) 2318 if (!Permissions.CanRezObject(part.ParentGroup.Children.Count, remoteClient.AgentId, presence.AbsolutePosition))
2319 return; 2319 return;
2320 2320
2321 presence.Appearance.DetachAttachment(itemID); 2321 presence.Appearance.DetachAttachment(itemID);
@@ -2359,7 +2359,7 @@ namespace OpenSim.Region.Environment.Scenes
2359 2359
2360 void ObjectOwner(IClientAPI remoteClient, UUID ownerID, UUID groupID, List<uint> localIDs) 2360 void ObjectOwner(IClientAPI remoteClient, UUID ownerID, UUID groupID, List<uint> localIDs)
2361 { 2361 {
2362 if (!ExternalChecks.ExternalChecksCanBeGodLike(remoteClient.AgentId)) 2362 if (!Permissions.IsGod(remoteClient.AgentId))
2363 return; 2363 return;
2364 2364
2365 foreach (uint localID in localIDs) 2365 foreach (uint localID in localIDs)
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
index c9c7bef..97846cf 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
@@ -113,8 +113,8 @@ namespace OpenSim.Region.Environment.Scenes
113 ((SceneObjectGroup) ent).GetProperties(remoteClient); 113 ((SceneObjectGroup) ent).GetProperties(remoteClient);
114 ((SceneObjectGroup) ent).IsSelected = true; 114 ((SceneObjectGroup) ent).IsSelected = true;
115 // A prim is only tainted if it's allowed to be edited by the person clicking it. 115 // A prim is only tainted if it's allowed to be edited by the person clicking it.
116 if (ExternalChecks.ExternalChecksCanEditObject(((SceneObjectGroup)ent).UUID, remoteClient.AgentId) 116 if (Permissions.CanEditObject(((SceneObjectGroup)ent).UUID, remoteClient.AgentId)
117 || ExternalChecks.ExternalChecksCanMoveObject(((SceneObjectGroup)ent).UUID, remoteClient.AgentId)) 117 || Permissions.CanMoveObject(((SceneObjectGroup)ent).UUID, remoteClient.AgentId))
118 { 118 {
119 EventManager.TriggerParcelPrimCountTainted(); 119 EventManager.TriggerParcelPrimCountTainted();
120 } 120 }
@@ -181,9 +181,9 @@ namespace OpenSim.Region.Environment.Scenes
181 // 181 //
182 if (!isAttachment) 182 if (!isAttachment)
183 { 183 {
184 if (ExternalChecks.ExternalChecksCanEditObject( 184 if (Permissions.CanEditObject(
185 part.UUID, remoteClient.AgentId) 185 part.UUID, remoteClient.AgentId)
186 || ExternalChecks.ExternalChecksCanMoveObject( 186 || Permissions.CanMoveObject(
187 part.UUID, remoteClient.AgentId)) 187 part.UUID, remoteClient.AgentId))
188 EventManager.TriggerParcelPrimCountTainted(); 188 EventManager.TriggerParcelPrimCountTainted();
189 } 189 }
@@ -337,7 +337,7 @@ namespace OpenSim.Region.Environment.Scenes
337 if (part == null) 337 if (part == null)
338 return; 338 return;
339 339
340 if (ExternalChecks.ExternalChecksCanResetScript(itemID, remoteClient.AgentId)) 340 if (Permissions.CanResetScript(itemID, remoteClient.AgentId))
341 { 341 {
342 EventManager.TriggerScriptReset(part.LocalId, itemID); 342 EventManager.TriggerScriptReset(part.LocalId, itemID);
343 } 343 }
diff --git a/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs b/OpenSim/Region/Environment/Scenes/Scene.Permissions.cs
index 0977734..3a5a3d1 100644
--- a/OpenSim/Region/Environment/Scenes/SceneExternalChecks.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Permissions.cs
@@ -34,33 +34,33 @@ using OpenSim.Region.Environment.Interfaces;
34 34
35namespace OpenSim.Region.Environment.Scenes 35namespace OpenSim.Region.Environment.Scenes
36{ 36{
37 public class SceneExternalChecks 37 public class ScenePermissions
38 { 38 {
39 private Scene m_scene; 39 private Scene m_scene;
40 40
41 public SceneExternalChecks(Scene scene) 41 public ScenePermissions(Scene scene)
42 { 42 {
43 m_scene = scene; 43 m_scene = scene;
44 } 44 }
45 45
46 #region Object Permission Checks 46 #region Object Permission Checks
47 47
48 public delegate uint GenerateClientFlags(UUID userID, UUID objectIDID); 48 public delegate uint GenerateClientFlagsHandler(UUID userID, UUID objectIDID);
49 private List<GenerateClientFlags> GenerateClientFlagsCheckFunctions = new List<GenerateClientFlags>(); 49 private List<GenerateClientFlagsHandler> GenerateClientFlagsCheckFunctions = new List<GenerateClientFlagsHandler>();
50 50
51 public void addGenerateClientFlags(GenerateClientFlags delegateFunc) 51 public void AddGenerateClientFlagsHandler(GenerateClientFlagsHandler delegateFunc)
52 { 52 {
53 if (!GenerateClientFlagsCheckFunctions.Contains(delegateFunc)) 53 if (!GenerateClientFlagsCheckFunctions.Contains(delegateFunc))
54 GenerateClientFlagsCheckFunctions.Add(delegateFunc); 54 GenerateClientFlagsCheckFunctions.Add(delegateFunc);
55 } 55 }
56 56
57 public void removeGenerateClientFlags(GenerateClientFlags delegateFunc) 57 public void RemoveGenerateClientFlagsHandler(GenerateClientFlagsHandler delegateFunc)
58 { 58 {
59 if (GenerateClientFlagsCheckFunctions.Contains(delegateFunc)) 59 if (GenerateClientFlagsCheckFunctions.Contains(delegateFunc))
60 GenerateClientFlagsCheckFunctions.Remove(delegateFunc); 60 GenerateClientFlagsCheckFunctions.Remove(delegateFunc);
61 } 61 }
62 62
63 public uint ExternalChecksGenerateClientFlags(UUID userID, UUID objectID) 63 public uint GenerateClientFlags(UUID userID, UUID objectID)
64 { 64 {
65 SceneObjectPart part=m_scene.GetSceneObjectPart(objectID); 65 SceneObjectPart part=m_scene.GetSceneObjectPart(objectID);
66 66
@@ -81,54 +81,54 @@ namespace OpenSim.Region.Environment.Scenes
81 (uint)PrimFlags.ObjectYouOfficer; 81 (uint)PrimFlags.ObjectYouOfficer;
82 #pragma warning restore 0612 82 #pragma warning restore 0612
83 83
84 foreach (GenerateClientFlags check in GenerateClientFlagsCheckFunctions) 84 foreach (GenerateClientFlagsHandler check in GenerateClientFlagsCheckFunctions)
85 { 85 {
86 perms &= check(userID, objectID); 86 perms &= check(userID, objectID);
87 } 87 }
88 return perms; 88 return perms;
89 } 89 }
90 90
91 public delegate void SetBypassPermissions(bool value); 91 public delegate void SetBypassPermissionsHandler(bool value);
92 private List<SetBypassPermissions> SetBypassPermissionsCheckFunctions = new List<SetBypassPermissions>(); 92 private List<SetBypassPermissionsHandler> SetBypassPermissionsCheckFunctions = new List<SetBypassPermissionsHandler>();
93 93
94 public void addSetBypassPermissions(SetBypassPermissions delegateFunc) 94 public void AddSetBypassPermissionsHandler(SetBypassPermissionsHandler delegateFunc)
95 { 95 {
96 if (!SetBypassPermissionsCheckFunctions.Contains(delegateFunc)) 96 if (!SetBypassPermissionsCheckFunctions.Contains(delegateFunc))
97 SetBypassPermissionsCheckFunctions.Add(delegateFunc); 97 SetBypassPermissionsCheckFunctions.Add(delegateFunc);
98 } 98 }
99 99
100 public void removeSetBypassPermissions(SetBypassPermissions delegateFunc) 100 public void RemoveSetBypassPermissionsHandler(SetBypassPermissionsHandler delegateFunc)
101 { 101 {
102 if (SetBypassPermissionsCheckFunctions.Contains(delegateFunc)) 102 if (SetBypassPermissionsCheckFunctions.Contains(delegateFunc))
103 SetBypassPermissionsCheckFunctions.Remove(delegateFunc); 103 SetBypassPermissionsCheckFunctions.Remove(delegateFunc);
104 } 104 }
105 105
106 public void ExternalChecksSetBypassPermissions(bool value) 106 public void SetBypassPermissions(bool value)
107 { 107 {
108 foreach (SetBypassPermissions check in SetBypassPermissionsCheckFunctions) 108 foreach (SetBypassPermissionsHandler check in SetBypassPermissionsCheckFunctions)
109 { 109 {
110 check(value); 110 check(value);
111 } 111 }
112 } 112 }
113 113
114 public delegate bool BypassPermissions(); 114 public delegate bool BypassPermissionsHandler();
115 private List<BypassPermissions> BypassPermissionsCheckFunctions = new List<BypassPermissions>(); 115 private List<BypassPermissionsHandler> BypassPermissionsCheckFunctions = new List<BypassPermissionsHandler>();
116 116
117 public void addBypassPermissions(BypassPermissions delegateFunc) 117 public void AddBypassPermissionsHandler(BypassPermissionsHandler delegateFunc)
118 { 118 {
119 if (!BypassPermissionsCheckFunctions.Contains(delegateFunc)) 119 if (!BypassPermissionsCheckFunctions.Contains(delegateFunc))
120 BypassPermissionsCheckFunctions.Add(delegateFunc); 120 BypassPermissionsCheckFunctions.Add(delegateFunc);
121 } 121 }
122 122
123 public void removeBypassPermissions(BypassPermissions delegateFunc) 123 public void RemoveBypassPermissionsHandler(BypassPermissionsHandler delegateFunc)
124 { 124 {
125 if (BypassPermissionsCheckFunctions.Contains(delegateFunc)) 125 if (BypassPermissionsCheckFunctions.Contains(delegateFunc))
126 BypassPermissionsCheckFunctions.Remove(delegateFunc); 126 BypassPermissionsCheckFunctions.Remove(delegateFunc);
127 } 127 }
128 128
129 public bool ExternalChecksBypassPermissions() 129 public bool BypassPermissions()
130 { 130 {
131 foreach (BypassPermissions check in BypassPermissionsCheckFunctions) 131 foreach (BypassPermissionsHandler check in BypassPermissionsCheckFunctions)
132 { 132 {
133 if (check() == false) 133 if (check() == false)
134 { 134 {
@@ -138,24 +138,24 @@ namespace OpenSim.Region.Environment.Scenes
138 return true; 138 return true;
139 } 139 }
140 140
141 public delegate bool PropagatePermissions(); 141 public delegate bool PropagatePermissionsHandler();
142 private List<PropagatePermissions> PropagatePermissionsCheckFunctions = new List<PropagatePermissions>(); 142 private List<PropagatePermissionsHandler> PropagatePermissionsCheckFunctions = new List<PropagatePermissionsHandler>();
143 143
144 public void addPropagatePermissions(PropagatePermissions delegateFunc) 144 public void AddPropagatePermissionsHandler(PropagatePermissionsHandler delegateFunc)
145 { 145 {
146 if (!PropagatePermissionsCheckFunctions.Contains(delegateFunc)) 146 if (!PropagatePermissionsCheckFunctions.Contains(delegateFunc))
147 PropagatePermissionsCheckFunctions.Add(delegateFunc); 147 PropagatePermissionsCheckFunctions.Add(delegateFunc);
148 } 148 }
149 149
150 public void removePropagatePermissions(PropagatePermissions delegateFunc) 150 public void RemovePropagatePermissionsHandler(PropagatePermissionsHandler delegateFunc)
151 { 151 {
152 if (PropagatePermissionsCheckFunctions.Contains(delegateFunc)) 152 if (PropagatePermissionsCheckFunctions.Contains(delegateFunc))
153 PropagatePermissionsCheckFunctions.Remove(delegateFunc); 153 PropagatePermissionsCheckFunctions.Remove(delegateFunc);
154 } 154 }
155 155
156 public bool ExternalChecksPropagatePermissions() 156 public bool PropagatePermissions()
157 { 157 {
158 foreach (PropagatePermissions check in PropagatePermissionsCheckFunctions) 158 foreach (PropagatePermissionsHandler check in PropagatePermissionsCheckFunctions)
159 { 159 {
160 if (check() == false) 160 if (check() == false)
161 { 161 {
@@ -166,24 +166,24 @@ namespace OpenSim.Region.Environment.Scenes
166 } 166 }
167 167
168 #region REZ OBJECT 168 #region REZ OBJECT
169 public delegate bool CanRezObject(int objectCount, UUID owner, Vector3 objectPosition, Scene scene); 169 public delegate bool CanRezObjectHandler(int objectCount, UUID owner, Vector3 objectPosition, Scene scene);
170 private List<CanRezObject> CanRezObjectCheckFunctions = new List<CanRezObject>(); 170 private List<CanRezObjectHandler> CanRezObjectCheckFunctions = new List<CanRezObjectHandler>();
171 171
172 public void addCheckRezObject(CanRezObject delegateFunc) 172 public void AddRezObjectHandler(CanRezObjectHandler delegateFunc)
173 { 173 {
174 if (!CanRezObjectCheckFunctions.Contains(delegateFunc)) 174 if (!CanRezObjectCheckFunctions.Contains(delegateFunc))
175 CanRezObjectCheckFunctions.Add(delegateFunc); 175 CanRezObjectCheckFunctions.Add(delegateFunc);
176 } 176 }
177 177
178 public void removeCheckRezObject(CanRezObject delegateFunc) 178 public void RemoveRezObjectHandler(CanRezObjectHandler delegateFunc)
179 { 179 {
180 if (CanRezObjectCheckFunctions.Contains(delegateFunc)) 180 if (CanRezObjectCheckFunctions.Contains(delegateFunc))
181 CanRezObjectCheckFunctions.Remove(delegateFunc); 181 CanRezObjectCheckFunctions.Remove(delegateFunc);
182 } 182 }
183 183
184 public bool ExternalChecksCanRezObject(int objectCount, UUID owner, Vector3 objectPosition) 184 public bool CanRezObject(int objectCount, UUID owner, Vector3 objectPosition)
185 { 185 {
186 foreach (CanRezObject check in CanRezObjectCheckFunctions) 186 foreach (CanRezObjectHandler check in CanRezObjectCheckFunctions)
187 { 187 {
188 if (check(objectCount, owner,objectPosition, m_scene) == false) 188 if (check(objectCount, owner,objectPosition, m_scene) == false)
189 { 189 {
@@ -196,24 +196,24 @@ namespace OpenSim.Region.Environment.Scenes
196 #endregion 196 #endregion
197 197
198 #region DELETE OBJECT 198 #region DELETE OBJECT
199 public delegate bool CanDeleteObject(UUID objectID, UUID deleter, Scene scene); 199 public delegate bool CanDeleteObjectHandler(UUID objectID, UUID deleter, Scene scene);
200 private List<CanDeleteObject> CanDeleteObjectCheckFunctions = new List<CanDeleteObject>(); 200 private List<CanDeleteObjectHandler> CanDeleteObjectCheckFunctions = new List<CanDeleteObjectHandler>();
201 201
202 public void addCheckDeleteObject(CanDeleteObject delegateFunc) 202 public void AddDeleteObjectHandler(CanDeleteObjectHandler delegateFunc)
203 { 203 {
204 if (!CanDeleteObjectCheckFunctions.Contains(delegateFunc)) 204 if (!CanDeleteObjectCheckFunctions.Contains(delegateFunc))
205 CanDeleteObjectCheckFunctions.Add(delegateFunc); 205 CanDeleteObjectCheckFunctions.Add(delegateFunc);
206 } 206 }
207 207
208 public void removeCheckDeleteObject(CanDeleteObject delegateFunc) 208 public void RemoveDeleteObjectHandler(CanDeleteObjectHandler delegateFunc)
209 { 209 {
210 if (CanDeleteObjectCheckFunctions.Contains(delegateFunc)) 210 if (CanDeleteObjectCheckFunctions.Contains(delegateFunc))
211 CanDeleteObjectCheckFunctions.Remove(delegateFunc); 211 CanDeleteObjectCheckFunctions.Remove(delegateFunc);
212 } 212 }
213 213
214 public bool ExternalChecksCanDeleteObject(UUID objectID, UUID deleter) 214 public bool CanDeleteObject(UUID objectID, UUID deleter)
215 { 215 {
216 foreach (CanDeleteObject check in CanDeleteObjectCheckFunctions) 216 foreach (CanDeleteObjectHandler check in CanDeleteObjectCheckFunctions)
217 { 217 {
218 if (check(objectID,deleter,m_scene) == false) 218 if (check(objectID,deleter,m_scene) == false)
219 { 219 {
@@ -226,24 +226,24 @@ namespace OpenSim.Region.Environment.Scenes
226 #endregion 226 #endregion
227 227
228 #region TAKE OBJECT 228 #region TAKE OBJECT
229 public delegate bool CanTakeObject(UUID objectID, UUID stealer, Scene scene); 229 public delegate bool CanTakeObjectHandler(UUID objectID, UUID stealer, Scene scene);
230 private List<CanTakeObject> CanTakeObjectCheckFunctions = new List<CanTakeObject>(); 230 private List<CanTakeObjectHandler> CanTakeObjectCheckFunctions = new List<CanTakeObjectHandler>();
231 231
232 public void addCheckTakeObject(CanTakeObject delegateFunc) 232 public void AddTakeObjectHandler(CanTakeObjectHandler delegateFunc)
233 { 233 {
234 if (!CanTakeObjectCheckFunctions.Contains(delegateFunc)) 234 if (!CanTakeObjectCheckFunctions.Contains(delegateFunc))
235 CanTakeObjectCheckFunctions.Add(delegateFunc); 235 CanTakeObjectCheckFunctions.Add(delegateFunc);
236 } 236 }
237 237
238 public void removeCheckTakeObject(CanTakeObject delegateFunc) 238 public void RemoveTakeObjectHandler(CanTakeObjectHandler delegateFunc)
239 { 239 {
240 if (CanTakeObjectCheckFunctions.Contains(delegateFunc)) 240 if (CanTakeObjectCheckFunctions.Contains(delegateFunc))
241 CanTakeObjectCheckFunctions.Remove(delegateFunc); 241 CanTakeObjectCheckFunctions.Remove(delegateFunc);
242 } 242 }
243 243
244 public bool ExternalChecksCanTakeObject(UUID objectID, UUID AvatarTakingUUID) 244 public bool CanTakeObject(UUID objectID, UUID AvatarTakingUUID)
245 { 245 {
246 foreach (CanTakeObject check in CanTakeObjectCheckFunctions) 246 foreach (CanTakeObjectHandler check in CanTakeObjectCheckFunctions)
247 { 247 {
248 if (check(objectID, AvatarTakingUUID, m_scene) == false) 248 if (check(objectID, AvatarTakingUUID, m_scene) == false)
249 { 249 {
@@ -256,24 +256,24 @@ namespace OpenSim.Region.Environment.Scenes
256 #endregion 256 #endregion
257 257
258 #region TAKE COPY OBJECT 258 #region TAKE COPY OBJECT
259 public delegate bool CanTakeCopyObject(UUID objectID, UUID userID, Scene inScene); 259 public delegate bool CanTakeCopyObjectHandler(UUID objectID, UUID userID, Scene inScene);
260 private List<CanTakeCopyObject> CanTakeCopyObjectCheckFunctions = new List<CanTakeCopyObject>(); 260 private List<CanTakeCopyObjectHandler> CanTakeCopyObjectCheckFunctions = new List<CanTakeCopyObjectHandler>();
261 261
262 public void addCheckTakeCopyObject(CanTakeCopyObject delegateFunc) 262 public void AddTakeCopyObjectHandler(CanTakeCopyObjectHandler delegateFunc)
263 { 263 {
264 if (!CanTakeCopyObjectCheckFunctions.Contains(delegateFunc)) 264 if (!CanTakeCopyObjectCheckFunctions.Contains(delegateFunc))
265 CanTakeCopyObjectCheckFunctions.Add(delegateFunc); 265 CanTakeCopyObjectCheckFunctions.Add(delegateFunc);
266 } 266 }
267 267
268 public void removeCheckTakeCopyObject(CanTakeCopyObject delegateFunc) 268 public void RemoveTakeCopyObjectHandler(CanTakeCopyObjectHandler delegateFunc)
269 { 269 {
270 if (CanTakeCopyObjectCheckFunctions.Contains(delegateFunc)) 270 if (CanTakeCopyObjectCheckFunctions.Contains(delegateFunc))
271 CanTakeCopyObjectCheckFunctions.Remove(delegateFunc); 271 CanTakeCopyObjectCheckFunctions.Remove(delegateFunc);
272 } 272 }
273 273
274 public bool ExternalChecksCanTakeCopyObject(UUID objectID, UUID userID) 274 public bool CanTakeCopyObject(UUID objectID, UUID userID)
275 { 275 {
276 foreach (CanTakeCopyObject check in CanTakeCopyObjectCheckFunctions) 276 foreach (CanTakeCopyObjectHandler check in CanTakeCopyObjectCheckFunctions)
277 { 277 {
278 if (check(objectID,userID,m_scene) == false) 278 if (check(objectID,userID,m_scene) == false)
279 { 279 {
@@ -286,24 +286,24 @@ namespace OpenSim.Region.Environment.Scenes
286 #endregion 286 #endregion
287 287
288 #region DUPLICATE OBJECT 288 #region DUPLICATE OBJECT
289 public delegate bool CanDuplicateObject(int objectCount, UUID objectID, UUID owner, Scene scene, Vector3 objectPosition); 289 public delegate bool CanDuplicateObjectHandler(int objectCount, UUID objectID, UUID owner, Scene scene, Vector3 objectPosition);
290 private List<CanDuplicateObject> CanDuplicateObjectCheckFunctions = new List<CanDuplicateObject>(); 290 private List<CanDuplicateObjectHandler> CanDuplicateObjectCheckFunctions = new List<CanDuplicateObjectHandler>();
291 291
292 public void addCheckDuplicateObject(CanDuplicateObject delegateFunc) 292 public void AddDuplicateObjectHandler(CanDuplicateObjectHandler delegateFunc)
293 { 293 {
294 if (!CanDuplicateObjectCheckFunctions.Contains(delegateFunc)) 294 if (!CanDuplicateObjectCheckFunctions.Contains(delegateFunc))
295 CanDuplicateObjectCheckFunctions.Add(delegateFunc); 295 CanDuplicateObjectCheckFunctions.Add(delegateFunc);
296 } 296 }
297 297
298 public void removeCheckDuplicateObject(CanDuplicateObject delegateFunc) 298 public void RemoveDuplicateObjectHandler(CanDuplicateObjectHandler delegateFunc)
299 { 299 {
300 if (CanDuplicateObjectCheckFunctions.Contains(delegateFunc)) 300 if (CanDuplicateObjectCheckFunctions.Contains(delegateFunc))
301 CanDuplicateObjectCheckFunctions.Remove(delegateFunc); 301 CanDuplicateObjectCheckFunctions.Remove(delegateFunc);
302 } 302 }
303 303
304 public bool ExternalChecksCanDuplicateObject(int objectCount, UUID objectID, UUID owner, Vector3 objectPosition) 304 public bool CanDuplicateObject(int objectCount, UUID objectID, UUID owner, Vector3 objectPosition)
305 { 305 {
306 foreach (CanDuplicateObject check in CanDuplicateObjectCheckFunctions) 306 foreach (CanDuplicateObjectHandler check in CanDuplicateObjectCheckFunctions)
307 { 307 {
308 if (check(objectCount, objectID, owner, m_scene, objectPosition) == false) 308 if (check(objectCount, objectID, owner, m_scene, objectPosition) == false)
309 { 309 {
@@ -316,24 +316,24 @@ namespace OpenSim.Region.Environment.Scenes
316 #endregion 316 #endregion
317 317
318 #region EDIT OBJECT 318 #region EDIT OBJECT
319 public delegate bool CanEditObject(UUID objectID, UUID editorID, Scene scene); 319 public delegate bool CanEditObjectHandler(UUID objectID, UUID editorID, Scene scene);
320 private List<CanEditObject> CanEditObjectCheckFunctions = new List<CanEditObject>(); 320 private List<CanEditObjectHandler> CanEditObjectCheckFunctions = new List<CanEditObjectHandler>();
321 321
322 public void addCheckEditObject(CanEditObject delegateFunc) 322 public void AddEditObjectHandler(CanEditObjectHandler delegateFunc)
323 { 323 {
324 if (!CanEditObjectCheckFunctions.Contains(delegateFunc)) 324 if (!CanEditObjectCheckFunctions.Contains(delegateFunc))
325 CanEditObjectCheckFunctions.Add(delegateFunc); 325 CanEditObjectCheckFunctions.Add(delegateFunc);
326 } 326 }
327 327
328 public void removeCheckEditObject(CanEditObject delegateFunc) 328 public void RemoveEditObjectHandler(CanEditObjectHandler delegateFunc)
329 { 329 {
330 if (CanEditObjectCheckFunctions.Contains(delegateFunc)) 330 if (CanEditObjectCheckFunctions.Contains(delegateFunc))
331 CanEditObjectCheckFunctions.Remove(delegateFunc); 331 CanEditObjectCheckFunctions.Remove(delegateFunc);
332 } 332 }
333 333
334 public bool ExternalChecksCanEditObject(UUID objectID, UUID editorID) 334 public bool CanEditObject(UUID objectID, UUID editorID)
335 { 335 {
336 foreach (CanEditObject check in CanEditObjectCheckFunctions) 336 foreach (CanEditObjectHandler check in CanEditObjectCheckFunctions)
337 { 337 {
338 if (check(objectID, editorID, m_scene) == false) 338 if (check(objectID, editorID, m_scene) == false)
339 { 339 {
@@ -343,24 +343,24 @@ namespace OpenSim.Region.Environment.Scenes
343 return true; 343 return true;
344 } 344 }
345 345
346 public delegate bool CanEditObjectInventory(UUID objectID, UUID editorID, Scene scene); 346 public delegate bool CanEditObjectInventoryHandler(UUID objectID, UUID editorID, Scene scene);
347 private List<CanEditObjectInventory> CanEditObjectInventoryCheckFunctions = new List<CanEditObjectInventory>(); 347 private List<CanEditObjectInventoryHandler> CanEditObjectInventoryCheckFunctions = new List<CanEditObjectInventoryHandler>();
348 348
349 public void addCheckEditObjectInventory(CanEditObjectInventory delegateFunc) 349 public void AddEditObjectInventoryHandler(CanEditObjectInventoryHandler delegateFunc)
350 { 350 {
351 if (!CanEditObjectInventoryCheckFunctions.Contains(delegateFunc)) 351 if (!CanEditObjectInventoryCheckFunctions.Contains(delegateFunc))
352 CanEditObjectInventoryCheckFunctions.Add(delegateFunc); 352 CanEditObjectInventoryCheckFunctions.Add(delegateFunc);
353 } 353 }
354 354
355 public void removeCheckEditObjectInventory(CanEditObjectInventory delegateFunc) 355 public void RemoveEditObjectInventoryHandler(CanEditObjectInventoryHandler delegateFunc)
356 { 356 {
357 if (CanEditObjectInventoryCheckFunctions.Contains(delegateFunc)) 357 if (CanEditObjectInventoryCheckFunctions.Contains(delegateFunc))
358 CanEditObjectInventoryCheckFunctions.Remove(delegateFunc); 358 CanEditObjectInventoryCheckFunctions.Remove(delegateFunc);
359 } 359 }
360 360
361 public bool ExternalChecksCanEditObjectInventory(UUID objectID, UUID editorID) 361 public bool CanEditObjectInventory(UUID objectID, UUID editorID)
362 { 362 {
363 foreach (CanEditObjectInventory check in CanEditObjectInventoryCheckFunctions) 363 foreach (CanEditObjectInventoryHandler check in CanEditObjectInventoryCheckFunctions)
364 { 364 {
365 if (check(objectID, editorID, m_scene) == false) 365 if (check(objectID, editorID, m_scene) == false)
366 { 366 {
@@ -373,24 +373,24 @@ namespace OpenSim.Region.Environment.Scenes
373 #endregion 373 #endregion
374 374
375 #region MOVE OBJECT 375 #region MOVE OBJECT
376 public delegate bool CanMoveObject(UUID objectID, UUID moverID, Scene scene); 376 public delegate bool CanMoveObjectHandler(UUID objectID, UUID moverID, Scene scene);
377 private List<CanMoveObject> CanMoveObjectCheckFunctions = new List<CanMoveObject>(); 377 private List<CanMoveObjectHandler> CanMoveObjectCheckFunctions = new List<CanMoveObjectHandler>();
378 378
379 public void addCheckMoveObject(CanMoveObject delegateFunc) 379 public void AddMoveObjectHandler(CanMoveObjectHandler delegateFunc)
380 { 380 {
381 if (!CanMoveObjectCheckFunctions.Contains(delegateFunc)) 381 if (!CanMoveObjectCheckFunctions.Contains(delegateFunc))
382 CanMoveObjectCheckFunctions.Add(delegateFunc); 382 CanMoveObjectCheckFunctions.Add(delegateFunc);
383 } 383 }
384 384
385 public void removeCheckMoveObject(CanMoveObject delegateFunc) 385 public void RemoveMoveObjectHandler(CanMoveObjectHandler delegateFunc)
386 { 386 {
387 if (CanMoveObjectCheckFunctions.Contains(delegateFunc)) 387 if (CanMoveObjectCheckFunctions.Contains(delegateFunc))
388 CanMoveObjectCheckFunctions.Remove(delegateFunc); 388 CanMoveObjectCheckFunctions.Remove(delegateFunc);
389 } 389 }
390 390
391 public bool ExternalChecksCanMoveObject(UUID objectID, UUID moverID) 391 public bool CanMoveObject(UUID objectID, UUID moverID)
392 { 392 {
393 foreach (CanMoveObject check in CanMoveObjectCheckFunctions) 393 foreach (CanMoveObjectHandler check in CanMoveObjectCheckFunctions)
394 { 394 {
395 if (check(objectID,moverID,m_scene) == false) 395 if (check(objectID,moverID,m_scene) == false)
396 { 396 {
@@ -403,24 +403,24 @@ namespace OpenSim.Region.Environment.Scenes
403 #endregion 403 #endregion
404 404
405 #region OBJECT ENTRY 405 #region OBJECT ENTRY
406 public delegate bool CanObjectEntry(UUID objectID, Vector3 newPoint, Scene scene); 406 public delegate bool CanObjectEntryHandler(UUID objectID, Vector3 newPoint, Scene scene);
407 private List<CanObjectEntry> CanObjectEntryCheckFunctions = new List<CanObjectEntry>(); 407 private List<CanObjectEntryHandler> CanObjectEntryCheckFunctions = new List<CanObjectEntryHandler>();
408 408
409 public void addCheckObjectEntry(CanObjectEntry delegateFunc) 409 public void AddObjectEntryHandler(CanObjectEntryHandler delegateFunc)
410 { 410 {
411 if (!CanObjectEntryCheckFunctions.Contains(delegateFunc)) 411 if (!CanObjectEntryCheckFunctions.Contains(delegateFunc))
412 CanObjectEntryCheckFunctions.Add(delegateFunc); 412 CanObjectEntryCheckFunctions.Add(delegateFunc);
413 } 413 }
414 414
415 public void removeCheckObjectEntry(CanObjectEntry delegateFunc) 415 public void RemoveObjectEntryHandler(CanObjectEntryHandler delegateFunc)
416 { 416 {
417 if (CanObjectEntryCheckFunctions.Contains(delegateFunc)) 417 if (CanObjectEntryCheckFunctions.Contains(delegateFunc))
418 CanObjectEntryCheckFunctions.Remove(delegateFunc); 418 CanObjectEntryCheckFunctions.Remove(delegateFunc);
419 } 419 }
420 420
421 public bool ExternalChecksCanObjectEntry(UUID objectID, Vector3 newPoint) 421 public bool CanObjectEntry(UUID objectID, Vector3 newPoint)
422 { 422 {
423 foreach (CanObjectEntry check in CanObjectEntryCheckFunctions) 423 foreach (CanObjectEntryHandler check in CanObjectEntryCheckFunctions)
424 { 424 {
425 if (check(objectID, newPoint, m_scene) == false) 425 if (check(objectID, newPoint, m_scene) == false)
426 { 426 {
@@ -433,24 +433,24 @@ namespace OpenSim.Region.Environment.Scenes
433 #endregion 433 #endregion
434 434
435 #region RETURN OBJECT 435 #region RETURN OBJECT
436 public delegate bool CanReturnObject(UUID objectID, UUID returnerID, Scene scene); 436 public delegate bool CanReturnObjectHandler(UUID objectID, UUID returnerID, Scene scene);
437 private List<CanReturnObject> CanReturnObjectCheckFunctions = new List<CanReturnObject>(); 437 private List<CanReturnObjectHandler> CanReturnObjectCheckFunctions = new List<CanReturnObjectHandler>();
438 438
439 public void addCheckReturnObject(CanReturnObject delegateFunc) 439 public void AddReturnObjectHandler(CanReturnObjectHandler delegateFunc)
440 { 440 {
441 if (!CanReturnObjectCheckFunctions.Contains(delegateFunc)) 441 if (!CanReturnObjectCheckFunctions.Contains(delegateFunc))
442 CanReturnObjectCheckFunctions.Add(delegateFunc); 442 CanReturnObjectCheckFunctions.Add(delegateFunc);
443 } 443 }
444 444
445 public void removeCheckReturnObject(CanReturnObject delegateFunc) 445 public void RemoveReturnObjectHandler(CanReturnObjectHandler delegateFunc)
446 { 446 {
447 if (CanReturnObjectCheckFunctions.Contains(delegateFunc)) 447 if (CanReturnObjectCheckFunctions.Contains(delegateFunc))
448 CanReturnObjectCheckFunctions.Remove(delegateFunc); 448 CanReturnObjectCheckFunctions.Remove(delegateFunc);
449 } 449 }
450 450
451 public bool ExternalChecksCanReturnObject(UUID objectID, UUID returnerID) 451 public bool CanReturnObject(UUID objectID, UUID returnerID)
452 { 452 {
453 foreach (CanReturnObject check in CanReturnObjectCheckFunctions) 453 foreach (CanReturnObjectHandler check in CanReturnObjectCheckFunctions)
454 { 454 {
455 if (check(objectID,returnerID,m_scene) == false) 455 if (check(objectID,returnerID,m_scene) == false)
456 { 456 {
@@ -463,24 +463,24 @@ namespace OpenSim.Region.Environment.Scenes
463 #endregion 463 #endregion
464 464
465 #region INSTANT MESSAGE 465 #region INSTANT MESSAGE
466 public delegate bool CanInstantMessage(UUID user, UUID target, Scene startScene); 466 public delegate bool CanInstantMessageHandler(UUID user, UUID target, Scene startScene);
467 private List<CanInstantMessage> CanInstantMessageCheckFunctions = new List<CanInstantMessage>(); 467 private List<CanInstantMessageHandler> CanInstantMessageCheckFunctions = new List<CanInstantMessageHandler>();
468 468
469 public void addCheckInstantMessage(CanInstantMessage delegateFunc) 469 public void AddInstantMessageHandler(CanInstantMessageHandler delegateFunc)
470 { 470 {
471 if (!CanInstantMessageCheckFunctions.Contains(delegateFunc)) 471 if (!CanInstantMessageCheckFunctions.Contains(delegateFunc))
472 CanInstantMessageCheckFunctions.Add(delegateFunc); 472 CanInstantMessageCheckFunctions.Add(delegateFunc);
473 } 473 }
474 474
475 public void removeCheckInstantMessage(CanInstantMessage delegateFunc) 475 public void RemoveInstantMessageHandler(CanInstantMessageHandler delegateFunc)
476 { 476 {
477 if (CanInstantMessageCheckFunctions.Contains(delegateFunc)) 477 if (CanInstantMessageCheckFunctions.Contains(delegateFunc))
478 CanInstantMessageCheckFunctions.Remove(delegateFunc); 478 CanInstantMessageCheckFunctions.Remove(delegateFunc);
479 } 479 }
480 480
481 public bool ExternalChecksCanInstantMessage(UUID user, UUID target) 481 public bool CanInstantMessage(UUID user, UUID target)
482 { 482 {
483 foreach (CanInstantMessage check in CanInstantMessageCheckFunctions) 483 foreach (CanInstantMessageHandler check in CanInstantMessageCheckFunctions)
484 { 484 {
485 if (check(user, target, m_scene) == false) 485 if (check(user, target, m_scene) == false)
486 { 486 {
@@ -493,24 +493,24 @@ namespace OpenSim.Region.Environment.Scenes
493 #endregion 493 #endregion
494 494
495 #region INVENTORY TRANSFER 495 #region INVENTORY TRANSFER
496 public delegate bool CanInventoryTransfer(UUID user, UUID target, Scene startScene); 496 public delegate bool CanInventoryTransferHandler(UUID user, UUID target, Scene startScene);
497 private List<CanInventoryTransfer> CanInventoryTransferCheckFunctions = new List<CanInventoryTransfer>(); 497 private List<CanInventoryTransferHandler> CanInventoryTransferCheckFunctions = new List<CanInventoryTransferHandler>();
498 498
499 public void addCheckInventoryTransfer(CanInventoryTransfer delegateFunc) 499 public void AddInventoryTransferHandler(CanInventoryTransferHandler delegateFunc)
500 { 500 {
501 if (!CanInventoryTransferCheckFunctions.Contains(delegateFunc)) 501 if (!CanInventoryTransferCheckFunctions.Contains(delegateFunc))
502 CanInventoryTransferCheckFunctions.Add(delegateFunc); 502 CanInventoryTransferCheckFunctions.Add(delegateFunc);
503 } 503 }
504 504
505 public void removeCheckInventoryTransfer(CanInventoryTransfer delegateFunc) 505 public void RemoveInventoryTransferHandler(CanInventoryTransferHandler delegateFunc)
506 { 506 {
507 if (CanInventoryTransferCheckFunctions.Contains(delegateFunc)) 507 if (CanInventoryTransferCheckFunctions.Contains(delegateFunc))
508 CanInventoryTransferCheckFunctions.Remove(delegateFunc); 508 CanInventoryTransferCheckFunctions.Remove(delegateFunc);
509 } 509 }
510 510
511 public bool ExternalChecksCanInventoryTransfer(UUID user, UUID target) 511 public bool CanInventoryTransfer(UUID user, UUID target)
512 { 512 {
513 foreach (CanInventoryTransfer check in CanInventoryTransferCheckFunctions) 513 foreach (CanInventoryTransferHandler check in CanInventoryTransferCheckFunctions)
514 { 514 {
515 if (check(user, target, m_scene) == false) 515 if (check(user, target, m_scene) == false)
516 { 516 {
@@ -523,24 +523,24 @@ namespace OpenSim.Region.Environment.Scenes
523 #endregion 523 #endregion
524 524
525 #region VIEW SCRIPT 525 #region VIEW SCRIPT
526 public delegate bool CanViewScript(UUID script, UUID objectID, UUID user, Scene scene); 526 public delegate bool CanViewScriptHandler(UUID script, UUID objectID, UUID user, Scene scene);
527 private List<CanViewScript> CanViewScriptCheckFunctions = new List<CanViewScript>(); 527 private List<CanViewScriptHandler> CanViewScriptCheckFunctions = new List<CanViewScriptHandler>();
528 528
529 public void addCheckViewScript(CanViewScript delegateFunc) 529 public void AddViewScriptHandler(CanViewScriptHandler delegateFunc)
530 { 530 {
531 if (!CanViewScriptCheckFunctions.Contains(delegateFunc)) 531 if (!CanViewScriptCheckFunctions.Contains(delegateFunc))
532 CanViewScriptCheckFunctions.Add(delegateFunc); 532 CanViewScriptCheckFunctions.Add(delegateFunc);
533 } 533 }
534 534
535 public void removeCheckViewScript(CanViewScript delegateFunc) 535 public void RemoveViewScriptHandler(CanViewScriptHandler delegateFunc)
536 { 536 {
537 if (CanViewScriptCheckFunctions.Contains(delegateFunc)) 537 if (CanViewScriptCheckFunctions.Contains(delegateFunc))
538 CanViewScriptCheckFunctions.Remove(delegateFunc); 538 CanViewScriptCheckFunctions.Remove(delegateFunc);
539 } 539 }
540 540
541 public bool ExternalChecksCanViewScript(UUID script, UUID objectID, UUID user) 541 public bool CanViewScript(UUID script, UUID objectID, UUID user)
542 { 542 {
543 foreach (CanViewScript check in CanViewScriptCheckFunctions) 543 foreach (CanViewScriptHandler check in CanViewScriptCheckFunctions)
544 { 544 {
545 if (check(script, objectID, user, m_scene) == false) 545 if (check(script, objectID, user, m_scene) == false)
546 { 546 {
@@ -550,24 +550,24 @@ namespace OpenSim.Region.Environment.Scenes
550 return true; 550 return true;
551 } 551 }
552 552
553 public delegate bool CanViewNotecard(UUID script, UUID objectID, UUID user, Scene scene); 553 public delegate bool CanViewNotecardHandler(UUID script, UUID objectID, UUID user, Scene scene);
554 private List<CanViewNotecard> CanViewNotecardCheckFunctions = new List<CanViewNotecard>(); 554 private List<CanViewNotecardHandler> CanViewNotecardCheckFunctions = new List<CanViewNotecardHandler>();
555 555
556 public void addCheckViewNotecard(CanViewNotecard delegateFunc) 556 public void AddViewNotecardHandler(CanViewNotecardHandler delegateFunc)
557 { 557 {
558 if (!CanViewNotecardCheckFunctions.Contains(delegateFunc)) 558 if (!CanViewNotecardCheckFunctions.Contains(delegateFunc))
559 CanViewNotecardCheckFunctions.Add(delegateFunc); 559 CanViewNotecardCheckFunctions.Add(delegateFunc);
560 } 560 }
561 561
562 public void removeCheckViewNotecard(CanViewNotecard delegateFunc) 562 public void RemoveViewNotecardHandler(CanViewNotecardHandler delegateFunc)
563 { 563 {
564 if (CanViewNotecardCheckFunctions.Contains(delegateFunc)) 564 if (CanViewNotecardCheckFunctions.Contains(delegateFunc))
565 CanViewNotecardCheckFunctions.Remove(delegateFunc); 565 CanViewNotecardCheckFunctions.Remove(delegateFunc);
566 } 566 }
567 567
568 public bool ExternalChecksCanViewNotecard(UUID script, UUID objectID, UUID user) 568 public bool CanViewNotecard(UUID script, UUID objectID, UUID user)
569 { 569 {
570 foreach (CanViewNotecard check in CanViewNotecardCheckFunctions) 570 foreach (CanViewNotecardHandler check in CanViewNotecardCheckFunctions)
571 { 571 {
572 if (check(script, objectID, user, m_scene) == false) 572 if (check(script, objectID, user, m_scene) == false)
573 { 573 {
@@ -580,24 +580,24 @@ namespace OpenSim.Region.Environment.Scenes
580 #endregion 580 #endregion
581 581
582 #region EDIT SCRIPT 582 #region EDIT SCRIPT
583 public delegate bool CanEditScript(UUID script, UUID objectID, UUID user, Scene scene); 583 public delegate bool CanEditScriptHandler(UUID script, UUID objectID, UUID user, Scene scene);
584 private List<CanEditScript> CanEditScriptCheckFunctions = new List<CanEditScript>(); 584 private List<CanEditScriptHandler> CanEditScriptCheckFunctions = new List<CanEditScriptHandler>();
585 585
586 public void addCheckEditScript(CanEditScript delegateFunc) 586 public void AddEditScriptHandler(CanEditScriptHandler delegateFunc)
587 { 587 {
588 if (!CanEditScriptCheckFunctions.Contains(delegateFunc)) 588 if (!CanEditScriptCheckFunctions.Contains(delegateFunc))
589 CanEditScriptCheckFunctions.Add(delegateFunc); 589 CanEditScriptCheckFunctions.Add(delegateFunc);
590 } 590 }
591 591
592 public void removeCheckEditScript(CanEditScript delegateFunc) 592 public void RemoveEditScriptHandler(CanEditScriptHandler delegateFunc)
593 { 593 {
594 if (CanEditScriptCheckFunctions.Contains(delegateFunc)) 594 if (CanEditScriptCheckFunctions.Contains(delegateFunc))
595 CanEditScriptCheckFunctions.Remove(delegateFunc); 595 CanEditScriptCheckFunctions.Remove(delegateFunc);
596 } 596 }
597 597
598 public bool ExternalChecksCanEditScript(UUID script, UUID objectID, UUID user) 598 public bool CanEditScript(UUID script, UUID objectID, UUID user)
599 { 599 {
600 foreach (CanEditScript check in CanEditScriptCheckFunctions) 600 foreach (CanEditScriptHandler check in CanEditScriptCheckFunctions)
601 { 601 {
602 if (check(script, objectID, user, m_scene) == false) 602 if (check(script, objectID, user, m_scene) == false)
603 { 603 {
@@ -607,24 +607,24 @@ namespace OpenSim.Region.Environment.Scenes
607 return true; 607 return true;
608 } 608 }
609 609
610 public delegate bool CanEditNotecard(UUID notecard, UUID objectID, UUID user, Scene scene); 610 public delegate bool CanEditNotecardHandler(UUID notecard, UUID objectID, UUID user, Scene scene);
611 private List<CanEditNotecard> CanEditNotecardCheckFunctions = new List<CanEditNotecard>(); 611 private List<CanEditNotecardHandler> CanEditNotecardCheckFunctions = new List<CanEditNotecardHandler>();
612 612
613 public void addCheckEditNotecard(CanEditNotecard delegateFunc) 613 public void AddEditNotecardHandler(CanEditNotecardHandler delegateFunc)
614 { 614 {
615 if (!CanEditNotecardCheckFunctions.Contains(delegateFunc)) 615 if (!CanEditNotecardCheckFunctions.Contains(delegateFunc))
616 CanEditNotecardCheckFunctions.Add(delegateFunc); 616 CanEditNotecardCheckFunctions.Add(delegateFunc);
617 } 617 }
618 618
619 public void removeCheckEditNotecard(CanEditNotecard delegateFunc) 619 public void RemoveEditNotecardHandler(CanEditNotecardHandler delegateFunc)
620 { 620 {
621 if (CanEditNotecardCheckFunctions.Contains(delegateFunc)) 621 if (CanEditNotecardCheckFunctions.Contains(delegateFunc))
622 CanEditNotecardCheckFunctions.Remove(delegateFunc); 622 CanEditNotecardCheckFunctions.Remove(delegateFunc);
623 } 623 }
624 624
625 public bool ExternalChecksCanEditNotecard(UUID script, UUID objectID, UUID user) 625 public bool CanEditNotecard(UUID script, UUID objectID, UUID user)
626 { 626 {
627 foreach (CanEditNotecard check in CanEditNotecardCheckFunctions) 627 foreach (CanEditNotecardHandler check in CanEditNotecardCheckFunctions)
628 { 628 {
629 if (check(script, objectID, user, m_scene) == false) 629 if (check(script, objectID, user, m_scene) == false)
630 { 630 {
@@ -637,24 +637,24 @@ namespace OpenSim.Region.Environment.Scenes
637 #endregion 637 #endregion
638 638
639 #region RUN SCRIPT (When Script Placed in Object) 639 #region RUN SCRIPT (When Script Placed in Object)
640 public delegate bool CanRunScript(UUID script, UUID objectID, UUID user, Scene scene); 640 public delegate bool CanRunScriptHandler(UUID script, UUID objectID, UUID user, Scene scene);
641 private List<CanRunScript> CanRunScriptCheckFunctions = new List<CanRunScript>(); 641 private List<CanRunScriptHandler> CanRunScriptCheckFunctions = new List<CanRunScriptHandler>();
642 642
643 public void addCheckRunScript(CanRunScript delegateFunc) 643 public void AddRunScriptHandler(CanRunScriptHandler delegateFunc)
644 { 644 {
645 if (!CanRunScriptCheckFunctions.Contains(delegateFunc)) 645 if (!CanRunScriptCheckFunctions.Contains(delegateFunc))
646 CanRunScriptCheckFunctions.Add(delegateFunc); 646 CanRunScriptCheckFunctions.Add(delegateFunc);
647 } 647 }
648 648
649 public void removeCheckRunScript(CanRunScript delegateFunc) 649 public void RemoveRunScriptHandler(CanRunScriptHandler delegateFunc)
650 { 650 {
651 if (CanRunScriptCheckFunctions.Contains(delegateFunc)) 651 if (CanRunScriptCheckFunctions.Contains(delegateFunc))
652 CanRunScriptCheckFunctions.Remove(delegateFunc); 652 CanRunScriptCheckFunctions.Remove(delegateFunc);
653 } 653 }
654 654
655 public bool ExternalChecksCanRunScript(UUID script, UUID objectID, UUID user) 655 public bool CanRunScript(UUID script, UUID objectID, UUID user)
656 { 656 {
657 foreach (CanRunScript check in CanRunScriptCheckFunctions) 657 foreach (CanRunScriptHandler check in CanRunScriptCheckFunctions)
658 { 658 {
659 if (check(script, objectID, user, m_scene) == false) 659 if (check(script, objectID, user, m_scene) == false)
660 { 660 {
@@ -667,24 +667,24 @@ namespace OpenSim.Region.Environment.Scenes
667 #endregion 667 #endregion
668 668
669 #region START SCRIPT (When Script run box is Checked after placed in object) 669 #region START SCRIPT (When Script run box is Checked after placed in object)
670 public delegate bool CanStartScript(UUID script, UUID user, Scene scene); 670 public delegate bool CanStartScriptHandler(UUID script, UUID user, Scene scene);
671 private List<CanStartScript> CanStartScriptCheckFunctions = new List<CanStartScript>(); 671 private List<CanStartScriptHandler> CanStartScriptCheckFunctions = new List<CanStartScriptHandler>();
672 672
673 public void addCheckStartScript(CanStartScript delegateFunc) 673 public void AddStartScriptHandler(CanStartScriptHandler delegateFunc)
674 { 674 {
675 if (!CanStartScriptCheckFunctions.Contains(delegateFunc)) 675 if (!CanStartScriptCheckFunctions.Contains(delegateFunc))
676 CanStartScriptCheckFunctions.Add(delegateFunc); 676 CanStartScriptCheckFunctions.Add(delegateFunc);
677 } 677 }
678 678
679 public void removeCheckStartScript(CanStartScript delegateFunc) 679 public void RemoveStartScriptHandler(CanStartScriptHandler delegateFunc)
680 { 680 {
681 if (CanStartScriptCheckFunctions.Contains(delegateFunc)) 681 if (CanStartScriptCheckFunctions.Contains(delegateFunc))
682 CanStartScriptCheckFunctions.Remove(delegateFunc); 682 CanStartScriptCheckFunctions.Remove(delegateFunc);
683 } 683 }
684 684
685 public bool ExternalChecksCanStartScript(UUID script, UUID user) 685 public bool CanStartScript(UUID script, UUID user)
686 { 686 {
687 foreach (CanStartScript check in CanStartScriptCheckFunctions) 687 foreach (CanStartScriptHandler check in CanStartScriptCheckFunctions)
688 { 688 {
689 if (check(script, user, m_scene) == false) 689 if (check(script, user, m_scene) == false)
690 { 690 {
@@ -697,24 +697,24 @@ namespace OpenSim.Region.Environment.Scenes
697 #endregion 697 #endregion
698 698
699 #region STOP SCRIPT (When Script run box is unchecked after placed in object) 699 #region STOP SCRIPT (When Script run box is unchecked after placed in object)
700 public delegate bool CanStopScript(UUID script, UUID user, Scene scene); 700 public delegate bool CanStopScriptHandler(UUID script, UUID user, Scene scene);
701 private List<CanStopScript> CanStopScriptCheckFunctions = new List<CanStopScript>(); 701 private List<CanStopScriptHandler> CanStopScriptCheckFunctions = new List<CanStopScriptHandler>();
702 702
703 public void addCheckStopScript(CanStopScript delegateFunc) 703 public void AddStopScriptHandler(CanStopScriptHandler delegateFunc)
704 { 704 {
705 if (!CanStopScriptCheckFunctions.Contains(delegateFunc)) 705 if (!CanStopScriptCheckFunctions.Contains(delegateFunc))
706 CanStopScriptCheckFunctions.Add(delegateFunc); 706 CanStopScriptCheckFunctions.Add(delegateFunc);
707 } 707 }
708 708
709 public void removeCheckStopScript(CanStopScript delegateFunc) 709 public void RemoveStopScriptHandler(CanStopScriptHandler delegateFunc)
710 { 710 {
711 if (CanStopScriptCheckFunctions.Contains(delegateFunc)) 711 if (CanStopScriptCheckFunctions.Contains(delegateFunc))
712 CanStopScriptCheckFunctions.Remove(delegateFunc); 712 CanStopScriptCheckFunctions.Remove(delegateFunc);
713 } 713 }
714 714
715 public bool ExternalChecksCanStopScript(UUID script, UUID user) 715 public bool CanStopScript(UUID script, UUID user)
716 { 716 {
717 foreach (CanStopScript check in CanStopScriptCheckFunctions) 717 foreach (CanStopScriptHandler check in CanStopScriptCheckFunctions)
718 { 718 {
719 if (check(script, user, m_scene) == false) 719 if (check(script, user, m_scene) == false)
720 { 720 {
@@ -727,24 +727,24 @@ namespace OpenSim.Region.Environment.Scenes
727 #endregion 727 #endregion
728 728
729 #region RESET SCRIPT 729 #region RESET SCRIPT
730 public delegate bool CanResetScript(UUID script, UUID user, Scene scene); 730 public delegate bool CanResetScriptHandler(UUID script, UUID user, Scene scene);
731 private List<CanResetScript> CanResetScriptCheckFunctions = new List<CanResetScript>(); 731 private List<CanResetScriptHandler> CanResetScriptCheckFunctions = new List<CanResetScriptHandler>();
732 732
733 public void addCheckResetScript(CanResetScript delegateFunc) 733 public void AddResetScriptHandler(CanResetScriptHandler delegateFunc)
734 { 734 {
735 if (!CanResetScriptCheckFunctions.Contains(delegateFunc)) 735 if (!CanResetScriptCheckFunctions.Contains(delegateFunc))
736 CanResetScriptCheckFunctions.Add(delegateFunc); 736 CanResetScriptCheckFunctions.Add(delegateFunc);
737 } 737 }
738 738
739 public void removeCheckResetScript(CanResetScript delegateFunc) 739 public void RemoveResetScriptHandler(CanResetScriptHandler delegateFunc)
740 { 740 {
741 if (CanResetScriptCheckFunctions.Contains(delegateFunc)) 741 if (CanResetScriptCheckFunctions.Contains(delegateFunc))
742 CanResetScriptCheckFunctions.Remove(delegateFunc); 742 CanResetScriptCheckFunctions.Remove(delegateFunc);
743 } 743 }
744 744
745 public bool ExternalChecksCanResetScript(UUID script, UUID user) 745 public bool CanResetScript(UUID script, UUID user)
746 { 746 {
747 foreach (CanResetScript check in CanResetScriptCheckFunctions) 747 foreach (CanResetScriptHandler check in CanResetScriptCheckFunctions)
748 { 748 {
749 if (check(script, user, m_scene) == false) 749 if (check(script, user, m_scene) == false)
750 { 750 {
@@ -757,24 +757,24 @@ namespace OpenSim.Region.Environment.Scenes
757 #endregion 757 #endregion
758 758
759 #region TERRAFORM LAND 759 #region TERRAFORM LAND
760 public delegate bool CanTerraformLand(UUID user, Vector3 position, Scene requestFromScene); 760 public delegate bool CanTerraformLandHandler(UUID user, Vector3 position, Scene requestFromScene);
761 private List<CanTerraformLand> CanTerraformLandCheckFunctions = new List<CanTerraformLand>(); 761 private List<CanTerraformLandHandler> CanTerraformLandCheckFunctions = new List<CanTerraformLandHandler>();
762 762
763 public void addCheckTerraformLand(CanTerraformLand delegateFunc) 763 public void AddTerraformLandHandler(CanTerraformLandHandler delegateFunc)
764 { 764 {
765 if (!CanTerraformLandCheckFunctions.Contains(delegateFunc)) 765 if (!CanTerraformLandCheckFunctions.Contains(delegateFunc))
766 CanTerraformLandCheckFunctions.Add(delegateFunc); 766 CanTerraformLandCheckFunctions.Add(delegateFunc);
767 } 767 }
768 768
769 public void removeCheckTerraformLand(CanTerraformLand delegateFunc) 769 public void RemoveTerraformLandHandler(CanTerraformLandHandler delegateFunc)
770 { 770 {
771 if (CanTerraformLandCheckFunctions.Contains(delegateFunc)) 771 if (CanTerraformLandCheckFunctions.Contains(delegateFunc))
772 CanTerraformLandCheckFunctions.Remove(delegateFunc); 772 CanTerraformLandCheckFunctions.Remove(delegateFunc);
773 } 773 }
774 774
775 public bool ExternalChecksCanTerraformLand(UUID user, Vector3 pos) 775 public bool CanTerraformLand(UUID user, Vector3 pos)
776 { 776 {
777 foreach (CanTerraformLand check in CanTerraformLandCheckFunctions) 777 foreach (CanTerraformLandHandler check in CanTerraformLandCheckFunctions)
778 { 778 {
779 if (check(user, pos, m_scene) == false) 779 if (check(user, pos, m_scene) == false)
780 { 780 {
@@ -787,24 +787,24 @@ namespace OpenSim.Region.Environment.Scenes
787 #endregion 787 #endregion
788 788
789 #region RUN CONSOLE COMMAND 789 #region RUN CONSOLE COMMAND
790 public delegate bool CanRunConsoleCommand(UUID user, Scene requestFromScene); 790 public delegate bool CanRunConsoleCommandHandler(UUID user, Scene requestFromScene);
791 private List<CanRunConsoleCommand> CanRunConsoleCommandCheckFunctions = new List<CanRunConsoleCommand>(); 791 private List<CanRunConsoleCommandHandler> CanRunConsoleCommandCheckFunctions = new List<CanRunConsoleCommandHandler>();
792 792
793 public void addCheckRunConsoleCommand(CanRunConsoleCommand delegateFunc) 793 public void AddRunConsoleCommandHandler(CanRunConsoleCommandHandler delegateFunc)
794 { 794 {
795 if (!CanRunConsoleCommandCheckFunctions.Contains(delegateFunc)) 795 if (!CanRunConsoleCommandCheckFunctions.Contains(delegateFunc))
796 CanRunConsoleCommandCheckFunctions.Add(delegateFunc); 796 CanRunConsoleCommandCheckFunctions.Add(delegateFunc);
797 } 797 }
798 798
799 public void removeCheckRunConsoleCommand(CanRunConsoleCommand delegateFunc) 799 public void RemoveRunConsoleCommandHandler(CanRunConsoleCommandHandler delegateFunc)
800 { 800 {
801 if (CanRunConsoleCommandCheckFunctions.Contains(delegateFunc)) 801 if (CanRunConsoleCommandCheckFunctions.Contains(delegateFunc))
802 CanRunConsoleCommandCheckFunctions.Remove(delegateFunc); 802 CanRunConsoleCommandCheckFunctions.Remove(delegateFunc);
803 } 803 }
804 804
805 public bool ExternalChecksCanRunConsoleCommand(UUID user) 805 public bool CanRunConsoleCommand(UUID user)
806 { 806 {
807 foreach (CanRunConsoleCommand check in CanRunConsoleCommandCheckFunctions) 807 foreach (CanRunConsoleCommandHandler check in CanRunConsoleCommandCheckFunctions)
808 { 808 {
809 if (check(user, m_scene) == false) 809 if (check(user, m_scene) == false)
810 { 810 {
@@ -817,24 +817,24 @@ namespace OpenSim.Region.Environment.Scenes
817 #endregion 817 #endregion
818 818
819 #region CAN ISSUE ESTATE COMMAND 819 #region CAN ISSUE ESTATE COMMAND
820 public delegate bool CanIssueEstateCommand(UUID user, Scene requestFromScene, bool ownerCommand); 820 public delegate bool CanIssueEstateCommandHandler(UUID user, Scene requestFromScene, bool ownerCommand);
821 private List<CanIssueEstateCommand> CanIssueEstateCommandCheckFunctions = new List<CanIssueEstateCommand>(); 821 private List<CanIssueEstateCommandHandler> CanIssueEstateCommandCheckFunctions = new List<CanIssueEstateCommandHandler>();
822 822
823 public void addCheckIssueEstateCommand(CanIssueEstateCommand delegateFunc) 823 public void AddIssueEstateCommandHandler(CanIssueEstateCommandHandler delegateFunc)
824 { 824 {
825 if (!CanIssueEstateCommandCheckFunctions.Contains(delegateFunc)) 825 if (!CanIssueEstateCommandCheckFunctions.Contains(delegateFunc))
826 CanIssueEstateCommandCheckFunctions.Add(delegateFunc); 826 CanIssueEstateCommandCheckFunctions.Add(delegateFunc);
827 } 827 }
828 828
829 public void removeCheckIssueEstateCommand(CanIssueEstateCommand delegateFunc) 829 public void RemoveIssueEstateCommandHandler(CanIssueEstateCommandHandler delegateFunc)
830 { 830 {
831 if (CanIssueEstateCommandCheckFunctions.Contains(delegateFunc)) 831 if (CanIssueEstateCommandCheckFunctions.Contains(delegateFunc))
832 CanIssueEstateCommandCheckFunctions.Remove(delegateFunc); 832 CanIssueEstateCommandCheckFunctions.Remove(delegateFunc);
833 } 833 }
834 834
835 public bool ExternalChecksCanIssueEstateCommand(UUID user, bool ownerCommand) 835 public bool CanIssueEstateCommand(UUID user, bool ownerCommand)
836 { 836 {
837 foreach (CanIssueEstateCommand check in CanIssueEstateCommandCheckFunctions) 837 foreach (CanIssueEstateCommandHandler check in CanIssueEstateCommandCheckFunctions)
838 { 838 {
839 if (check(user, m_scene, ownerCommand) == false) 839 if (check(user, m_scene, ownerCommand) == false)
840 { 840 {
@@ -846,24 +846,24 @@ namespace OpenSim.Region.Environment.Scenes
846 #endregion 846 #endregion
847 847
848 #region CAN BE GODLIKE 848 #region CAN BE GODLIKE
849 public delegate bool CanBeGodLike(UUID user, Scene requestFromScene); 849 public delegate bool IsGodHandler(UUID user, Scene requestFromScene);
850 private List<CanBeGodLike> CanBeGodLikeCheckFunctions = new List<CanBeGodLike>(); 850 private List<IsGodHandler> IsGodCheckFunctions = new List<IsGodHandler>();
851 851
852 public void addCheckBeGodLike(CanBeGodLike delegateFunc) 852 public void AddIsGodHandler(IsGodHandler delegateFunc)
853 { 853 {
854 if (!CanBeGodLikeCheckFunctions.Contains(delegateFunc)) 854 if (!IsGodCheckFunctions.Contains(delegateFunc))
855 CanBeGodLikeCheckFunctions.Add(delegateFunc); 855 IsGodCheckFunctions.Add(delegateFunc);
856 } 856 }
857 857
858 public void removeCheckBeGodLike(CanBeGodLike delegateFunc) 858 public void RemoveIsGodHandler(IsGodHandler delegateFunc)
859 { 859 {
860 if (CanBeGodLikeCheckFunctions.Contains(delegateFunc)) 860 if (IsGodCheckFunctions.Contains(delegateFunc))
861 CanBeGodLikeCheckFunctions.Remove(delegateFunc); 861 IsGodCheckFunctions.Remove(delegateFunc);
862 } 862 }
863 863
864 public bool ExternalChecksCanBeGodLike(UUID user) 864 public bool IsGod(UUID user)
865 { 865 {
866 foreach (CanBeGodLike check in CanBeGodLikeCheckFunctions) 866 foreach (IsGodHandler check in IsGodCheckFunctions)
867 { 867 {
868 if (check(user, m_scene) == false) 868 if (check(user, m_scene) == false)
869 { 869 {
@@ -875,24 +875,24 @@ namespace OpenSim.Region.Environment.Scenes
875 #endregion 875 #endregion
876 876
877 #region EDIT PARCEL 877 #region EDIT PARCEL
878 public delegate bool CanEditParcel(UUID user, ILandObject parcel, Scene scene); 878 public delegate bool CanEditParcelHandler(UUID user, ILandObject parcel, Scene scene);
879 private List<CanEditParcel> CanEditParcelCheckFunctions = new List<CanEditParcel>(); 879 private List<CanEditParcelHandler> CanEditParcelCheckFunctions = new List<CanEditParcelHandler>();
880 880
881 public void addCheckEditParcel(CanEditParcel delegateFunc) 881 public void AddEditParcelHandler(CanEditParcelHandler delegateFunc)
882 { 882 {
883 if (!CanEditParcelCheckFunctions.Contains(delegateFunc)) 883 if (!CanEditParcelCheckFunctions.Contains(delegateFunc))
884 CanEditParcelCheckFunctions.Add(delegateFunc); 884 CanEditParcelCheckFunctions.Add(delegateFunc);
885 } 885 }
886 886
887 public void removeCheckEditParcel(CanEditParcel delegateFunc) 887 public void RemoveEditParcelHandler(CanEditParcelHandler delegateFunc)
888 { 888 {
889 if (CanEditParcelCheckFunctions.Contains(delegateFunc)) 889 if (CanEditParcelCheckFunctions.Contains(delegateFunc))
890 CanEditParcelCheckFunctions.Remove(delegateFunc); 890 CanEditParcelCheckFunctions.Remove(delegateFunc);
891 } 891 }
892 892
893 public bool ExternalChecksCanEditParcel(UUID user, ILandObject parcel) 893 public bool CanEditParcel(UUID user, ILandObject parcel)
894 { 894 {
895 foreach (CanEditParcel check in CanEditParcelCheckFunctions) 895 foreach (CanEditParcelHandler check in CanEditParcelCheckFunctions)
896 { 896 {
897 if (check(user, parcel, m_scene) == false) 897 if (check(user, parcel, m_scene) == false)
898 { 898 {
@@ -904,24 +904,24 @@ namespace OpenSim.Region.Environment.Scenes
904 #endregion 904 #endregion
905 905
906 #region SELL PARCEL 906 #region SELL PARCEL
907 public delegate bool CanSellParcel(UUID user, ILandObject parcel, Scene scene); 907 public delegate bool CanSellParcelHandler(UUID user, ILandObject parcel, Scene scene);
908 private List<CanSellParcel> CanSellParcelCheckFunctions = new List<CanSellParcel>(); 908 private List<CanSellParcelHandler> CanSellParcelCheckFunctions = new List<CanSellParcelHandler>();
909 909
910 public void addCheckSellParcel(CanSellParcel delegateFunc) 910 public void AddSellParcelHandler(CanSellParcelHandler delegateFunc)
911 { 911 {
912 if (!CanSellParcelCheckFunctions.Contains(delegateFunc)) 912 if (!CanSellParcelCheckFunctions.Contains(delegateFunc))
913 CanSellParcelCheckFunctions.Add(delegateFunc); 913 CanSellParcelCheckFunctions.Add(delegateFunc);
914 } 914 }
915 915
916 public void removeCheckSellParcel(CanSellParcel delegateFunc) 916 public void RemoveSellParcelHandler(CanSellParcelHandler delegateFunc)
917 { 917 {
918 if (CanSellParcelCheckFunctions.Contains(delegateFunc)) 918 if (CanSellParcelCheckFunctions.Contains(delegateFunc))
919 CanSellParcelCheckFunctions.Remove(delegateFunc); 919 CanSellParcelCheckFunctions.Remove(delegateFunc);
920 } 920 }
921 921
922 public bool ExternalChecksCanSellParcel(UUID user, ILandObject parcel) 922 public bool CanSellParcel(UUID user, ILandObject parcel)
923 { 923 {
924 foreach (CanSellParcel check in CanSellParcelCheckFunctions) 924 foreach (CanSellParcelHandler check in CanSellParcelCheckFunctions)
925 { 925 {
926 if (check(user, parcel, m_scene) == false) 926 if (check(user, parcel, m_scene) == false)
927 { 927 {
@@ -933,24 +933,24 @@ namespace OpenSim.Region.Environment.Scenes
933 #endregion 933 #endregion
934 934
935 #region ABANDON PARCEL 935 #region ABANDON PARCEL
936 public delegate bool CanAbandonParcel(UUID user, ILandObject parcel, Scene scene); 936 public delegate bool CanAbandonParcelHandler(UUID user, ILandObject parcel, Scene scene);
937 private List<CanAbandonParcel> CanAbandonParcelCheckFunctions = new List<CanAbandonParcel>(); 937 private List<CanAbandonParcelHandler> CanAbandonParcelCheckFunctions = new List<CanAbandonParcelHandler>();
938 938
939 public void addCheckAbandonParcel(CanAbandonParcel delegateFunc) 939 public void AddAbandonParcelHandler(CanAbandonParcelHandler delegateFunc)
940 { 940 {
941 if (!CanAbandonParcelCheckFunctions.Contains(delegateFunc)) 941 if (!CanAbandonParcelCheckFunctions.Contains(delegateFunc))
942 CanAbandonParcelCheckFunctions.Add(delegateFunc); 942 CanAbandonParcelCheckFunctions.Add(delegateFunc);
943 } 943 }
944 944
945 public void removeCheckAbandonParcel(CanAbandonParcel delegateFunc) 945 public void RemoveAbandonParcelHandler(CanAbandonParcelHandler delegateFunc)
946 { 946 {
947 if (CanAbandonParcelCheckFunctions.Contains(delegateFunc)) 947 if (CanAbandonParcelCheckFunctions.Contains(delegateFunc))
948 CanAbandonParcelCheckFunctions.Remove(delegateFunc); 948 CanAbandonParcelCheckFunctions.Remove(delegateFunc);
949 } 949 }
950 950
951 public bool ExternalChecksCanAbandonParcel(UUID user, ILandObject parcel) 951 public bool CanAbandonParcel(UUID user, ILandObject parcel)
952 { 952 {
953 foreach (CanAbandonParcel check in CanAbandonParcelCheckFunctions) 953 foreach (CanAbandonParcelHandler check in CanAbandonParcelCheckFunctions)
954 { 954 {
955 if (check(user, parcel, m_scene) == false) 955 if (check(user, parcel, m_scene) == false)
956 { 956 {
@@ -961,24 +961,24 @@ namespace OpenSim.Region.Environment.Scenes
961 } 961 }
962 #endregion 962 #endregion
963 963
964 public delegate bool CanReclaimParcel(UUID user, ILandObject parcel, Scene scene); 964 public delegate bool CanReclaimParcelHandler(UUID user, ILandObject parcel, Scene scene);
965 private List<CanReclaimParcel> CanReclaimParcelCheckFunctions = new List<CanReclaimParcel>(); 965 private List<CanReclaimParcelHandler> CanReclaimParcelCheckFunctions = new List<CanReclaimParcelHandler>();
966 966
967 public void addCheckReclaimParcel(CanReclaimParcel delegateFunc) 967 public void AddReclaimParcelHandler(CanReclaimParcelHandler delegateFunc)
968 { 968 {
969 if (!CanReclaimParcelCheckFunctions.Contains(delegateFunc)) 969 if (!CanReclaimParcelCheckFunctions.Contains(delegateFunc))
970 CanReclaimParcelCheckFunctions.Add(delegateFunc); 970 CanReclaimParcelCheckFunctions.Add(delegateFunc);
971 } 971 }
972 972
973 public void removeCheckReclaimParcel(CanReclaimParcel delegateFunc) 973 public void RemoveReclaimParcelHandler(CanReclaimParcelHandler delegateFunc)
974 { 974 {
975 if (CanReclaimParcelCheckFunctions.Contains(delegateFunc)) 975 if (CanReclaimParcelCheckFunctions.Contains(delegateFunc))
976 CanReclaimParcelCheckFunctions.Remove(delegateFunc); 976 CanReclaimParcelCheckFunctions.Remove(delegateFunc);
977 } 977 }
978 978
979 public bool ExternalChecksCanReclaimParcel(UUID user, ILandObject parcel) 979 public bool CanReclaimParcel(UUID user, ILandObject parcel)
980 { 980 {
981 foreach (CanReclaimParcel check in CanReclaimParcelCheckFunctions) 981 foreach (CanReclaimParcelHandler check in CanReclaimParcelCheckFunctions)
982 { 982 {
983 if (check(user, parcel, m_scene) == false) 983 if (check(user, parcel, m_scene) == false)
984 { 984 {
@@ -987,24 +987,24 @@ namespace OpenSim.Region.Environment.Scenes
987 } 987 }
988 return true; 988 return true;
989 } 989 }
990 public delegate bool CanBuyLand(UUID user, ILandObject parcel, Scene scene); 990 public delegate bool CanBuyLandHandler(UUID user, ILandObject parcel, Scene scene);
991 private List<CanBuyLand> CanBuyLandCheckFunctions = new List<CanBuyLand>(); 991 private List<CanBuyLandHandler> CanBuyLandCheckFunctions = new List<CanBuyLandHandler>();
992 992
993 public void addCheckCanBuyLand(CanBuyLand delegateFunc) 993 public void AddCanBuyLandHandler(CanBuyLandHandler delegateFunc)
994 { 994 {
995 if (!CanBuyLandCheckFunctions.Contains(delegateFunc)) 995 if (!CanBuyLandCheckFunctions.Contains(delegateFunc))
996 CanBuyLandCheckFunctions.Add(delegateFunc); 996 CanBuyLandCheckFunctions.Add(delegateFunc);
997 } 997 }
998 998
999 public void removeCheckCanBuyLand(CanBuyLand delegateFunc) 999 public void RemoveCanBuyLandHandler(CanBuyLandHandler delegateFunc)
1000 { 1000 {
1001 if (CanBuyLandCheckFunctions.Contains(delegateFunc)) 1001 if (CanBuyLandCheckFunctions.Contains(delegateFunc))
1002 CanBuyLandCheckFunctions.Remove(delegateFunc); 1002 CanBuyLandCheckFunctions.Remove(delegateFunc);
1003 } 1003 }
1004 1004
1005 public bool ExternalChecksCanBuyLand(UUID user, ILandObject parcel) 1005 public bool CanBuyLand(UUID user, ILandObject parcel)
1006 { 1006 {
1007 foreach (CanBuyLand check in CanBuyLandCheckFunctions) 1007 foreach (CanBuyLandHandler check in CanBuyLandCheckFunctions)
1008 { 1008 {
1009 if (check(user, parcel, m_scene) == false) 1009 if (check(user, parcel, m_scene) == false)
1010 { 1010 {
@@ -1014,24 +1014,24 @@ namespace OpenSim.Region.Environment.Scenes
1014 return true; 1014 return true;
1015 } 1015 }
1016 1016
1017 public delegate bool CanLinkObject(UUID user, UUID objectID); 1017 public delegate bool CanLinkObjectHandler(UUID user, UUID objectID);
1018 private List<CanLinkObject> CanLinkObjectCheckFunctions = new List<CanLinkObject>(); 1018 private List<CanLinkObjectHandler> CanLinkObjectCheckFunctions = new List<CanLinkObjectHandler>();
1019 1019
1020 public void addCheckCanLinkObject(CanLinkObject delegateFunc) 1020 public void AddCanLinkObjectHandler(CanLinkObjectHandler delegateFunc)
1021 { 1021 {
1022 if (!CanLinkObjectCheckFunctions.Contains(delegateFunc)) 1022 if (!CanLinkObjectCheckFunctions.Contains(delegateFunc))
1023 CanLinkObjectCheckFunctions.Add(delegateFunc); 1023 CanLinkObjectCheckFunctions.Add(delegateFunc);
1024 } 1024 }
1025 1025
1026 public void removeCheckCanLinkObject(CanLinkObject delegateFunc) 1026 public void RemoveCanLinkObjectHandler(CanLinkObjectHandler delegateFunc)
1027 { 1027 {
1028 if (CanLinkObjectCheckFunctions.Contains(delegateFunc)) 1028 if (CanLinkObjectCheckFunctions.Contains(delegateFunc))
1029 CanLinkObjectCheckFunctions.Remove(delegateFunc); 1029 CanLinkObjectCheckFunctions.Remove(delegateFunc);
1030 } 1030 }
1031 1031
1032 public bool ExternalChecksCanLinkObject(UUID user, UUID objectID) 1032 public bool CanLinkObject(UUID user, UUID objectID)
1033 { 1033 {
1034 foreach (CanLinkObject check in CanLinkObjectCheckFunctions) 1034 foreach (CanLinkObjectHandler check in CanLinkObjectCheckFunctions)
1035 { 1035 {
1036 if (check(user, objectID) == false) 1036 if (check(user, objectID) == false)
1037 { 1037 {
@@ -1041,24 +1041,24 @@ namespace OpenSim.Region.Environment.Scenes
1041 return true; 1041 return true;
1042 } 1042 }
1043 1043
1044 public delegate bool CanDelinkObject(UUID user, UUID objectID); 1044 public delegate bool CanDelinkObjectHandler(UUID user, UUID objectID);
1045 private List<CanDelinkObject> CanDelinkObjectCheckFunctions = new List<CanDelinkObject>(); 1045 private List<CanDelinkObjectHandler> CanDelinkObjectCheckFunctions = new List<CanDelinkObjectHandler>();
1046 1046
1047 public void addCheckCanDelinkObject(CanDelinkObject delegateFunc) 1047 public void AddCanDelinkObjectHandler(CanDelinkObjectHandler delegateFunc)
1048 { 1048 {
1049 if (!CanDelinkObjectCheckFunctions.Contains(delegateFunc)) 1049 if (!CanDelinkObjectCheckFunctions.Contains(delegateFunc))
1050 CanDelinkObjectCheckFunctions.Add(delegateFunc); 1050 CanDelinkObjectCheckFunctions.Add(delegateFunc);
1051 } 1051 }
1052 1052
1053 public void removeCheckCanDelinkObject(CanDelinkObject delegateFunc) 1053 public void RemoveCanDelinkObjectHandler(CanDelinkObjectHandler delegateFunc)
1054 { 1054 {
1055 if (CanDelinkObjectCheckFunctions.Contains(delegateFunc)) 1055 if (CanDelinkObjectCheckFunctions.Contains(delegateFunc))
1056 CanDelinkObjectCheckFunctions.Remove(delegateFunc); 1056 CanDelinkObjectCheckFunctions.Remove(delegateFunc);
1057 } 1057 }
1058 1058
1059 public bool ExternalChecksCanDelinkObject(UUID user, UUID objectID) 1059 public bool CanDelinkObject(UUID user, UUID objectID)
1060 { 1060 {
1061 foreach (CanDelinkObject check in CanDelinkObjectCheckFunctions) 1061 foreach (CanDelinkObjectHandler check in CanDelinkObjectCheckFunctions)
1062 { 1062 {
1063 if (check(user, objectID) == false) 1063 if (check(user, objectID) == false)
1064 { 1064 {
@@ -1070,18 +1070,18 @@ namespace OpenSim.Region.Environment.Scenes
1070 1070
1071 #endregion 1071 #endregion
1072 1072
1073 public delegate bool CanCreateObjectInventory(int invType, UUID objectID, UUID userID); 1073 public delegate bool CanCreateObjectInventoryHandler(int invType, UUID objectID, UUID userID);
1074 private List<CanCreateObjectInventory> CanCreateObjectInventoryCheckFunctions 1074 private List<CanCreateObjectInventoryHandler> CanCreateObjectInventoryCheckFunctions
1075 = new List<CanCreateObjectInventory>(); 1075 = new List<CanCreateObjectInventoryHandler>();
1076 1076
1077 1077
1078 public void addCheckCanCreateObjectInventory(CanCreateObjectInventory delegateFunc) 1078 public void AddCanCreateObjectInventoryHandler(CanCreateObjectInventoryHandler delegateFunc)
1079 { 1079 {
1080 if (!CanCreateObjectInventoryCheckFunctions.Contains(delegateFunc)) 1080 if (!CanCreateObjectInventoryCheckFunctions.Contains(delegateFunc))
1081 CanCreateObjectInventoryCheckFunctions.Add(delegateFunc); 1081 CanCreateObjectInventoryCheckFunctions.Add(delegateFunc);
1082 } 1082 }
1083 1083
1084 public void removeCheckCanCreateObjectInventory(CanCreateObjectInventory delegateFunc) 1084 public void RemoveCanCreateObjectInventoryHandler(CanCreateObjectInventoryHandler delegateFunc)
1085 { 1085 {
1086 if (CanCreateObjectInventoryCheckFunctions.Contains(delegateFunc)) 1086 if (CanCreateObjectInventoryCheckFunctions.Contains(delegateFunc))
1087 CanCreateObjectInventoryCheckFunctions.Remove(delegateFunc); 1087 CanCreateObjectInventoryCheckFunctions.Remove(delegateFunc);
@@ -1095,9 +1095,9 @@ namespace OpenSim.Region.Environment.Scenes
1095 /// <param name="objectID"></param> 1095 /// <param name="objectID"></param>
1096 /// <param name="userID"></param> 1096 /// <param name="userID"></param>
1097 /// <returns></returns> 1097 /// <returns></returns>
1098 public bool ExternalChecksCanCreateObjectInventory(int invType, UUID objectID, UUID userID) 1098 public bool CanCreateObjectInventory(int invType, UUID objectID, UUID userID)
1099 { 1099 {
1100 foreach (CanCreateObjectInventory check in CanCreateObjectInventoryCheckFunctions) 1100 foreach (CanCreateObjectInventoryHandler check in CanCreateObjectInventoryCheckFunctions)
1101 { 1101 {
1102 if (check(invType, objectID, userID) == false) 1102 if (check(invType, objectID, userID) == false)
1103 { 1103 {
@@ -1108,24 +1108,24 @@ namespace OpenSim.Region.Environment.Scenes
1108 return true; 1108 return true;
1109 } 1109 }
1110 1110
1111 public delegate bool CanCopyObjectInventory(UUID itemID, UUID objectID, UUID userID); 1111 public delegate bool CanCopyObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID);
1112 private List<CanCopyObjectInventory> CanCopyObjectInventoryCheckFunctions = new List<CanCopyObjectInventory>(); 1112 private List<CanCopyObjectInventoryHandler> CanCopyObjectInventoryCheckFunctions = new List<CanCopyObjectInventoryHandler>();
1113 1113
1114 public void addCheckCanCopyObjectInventory(CanCopyObjectInventory delegateFunc) 1114 public void AddCanCopyObjectInventoryHandler(CanCopyObjectInventoryHandler delegateFunc)
1115 { 1115 {
1116 if (!CanCopyObjectInventoryCheckFunctions.Contains(delegateFunc)) 1116 if (!CanCopyObjectInventoryCheckFunctions.Contains(delegateFunc))
1117 CanCopyObjectInventoryCheckFunctions.Add(delegateFunc); 1117 CanCopyObjectInventoryCheckFunctions.Add(delegateFunc);
1118 } 1118 }
1119 1119
1120 public void removeCheckCanCopyObjectInventory(CanCopyObjectInventory delegateFunc) 1120 public void RemoveCanCopyObjectInventoryHandler(CanCopyObjectInventoryHandler delegateFunc)
1121 { 1121 {
1122 if (CanCopyObjectInventoryCheckFunctions.Contains(delegateFunc)) 1122 if (CanCopyObjectInventoryCheckFunctions.Contains(delegateFunc))
1123 CanCopyObjectInventoryCheckFunctions.Remove(delegateFunc); 1123 CanCopyObjectInventoryCheckFunctions.Remove(delegateFunc);
1124 } 1124 }
1125 1125
1126 public bool ExternalChecksCanCopyObjectInventory(UUID itemID, UUID objectID, UUID userID) 1126 public bool CanCopyObjectInventory(UUID itemID, UUID objectID, UUID userID)
1127 { 1127 {
1128 foreach (CanCopyObjectInventory check in CanCopyObjectInventoryCheckFunctions) 1128 foreach (CanCopyObjectInventoryHandler check in CanCopyObjectInventoryCheckFunctions)
1129 { 1129 {
1130 if (check(itemID, objectID, userID) == false) 1130 if (check(itemID, objectID, userID) == false)
1131 { 1131 {
@@ -1135,25 +1135,25 @@ namespace OpenSim.Region.Environment.Scenes
1135 return true; 1135 return true;
1136 } 1136 }
1137 1137
1138 public delegate bool CanDeleteObjectInventory(UUID itemID, UUID objectID, UUID userID); 1138 public delegate bool CanDeleteObjectInventoryHandler(UUID itemID, UUID objectID, UUID userID);
1139 private List<CanDeleteObjectInventory> CanDeleteObjectInventoryCheckFunctions 1139 private List<CanDeleteObjectInventoryHandler> CanDeleteObjectInventoryCheckFunctions
1140 = new List<CanDeleteObjectInventory>(); 1140 = new List<CanDeleteObjectInventoryHandler>();
1141 1141
1142 public void addCheckCanDeleteObjectInventory(CanDeleteObjectInventory delegateFunc) 1142 public void AddCanDeleteObjectInventoryHandler(CanDeleteObjectInventoryHandler delegateFunc)
1143 { 1143 {
1144 if (!CanDeleteObjectInventoryCheckFunctions.Contains(delegateFunc)) 1144 if (!CanDeleteObjectInventoryCheckFunctions.Contains(delegateFunc))
1145 CanDeleteObjectInventoryCheckFunctions.Add(delegateFunc); 1145 CanDeleteObjectInventoryCheckFunctions.Add(delegateFunc);
1146 } 1146 }
1147 1147
1148 public void removeCheckCanDeleteObjectInventory(CanDeleteObjectInventory delegateFunc) 1148 public void RemoveCanDeleteObjectInventoryHandler(CanDeleteObjectInventoryHandler delegateFunc)
1149 { 1149 {
1150 if (CanDeleteObjectInventoryCheckFunctions.Contains(delegateFunc)) 1150 if (CanDeleteObjectInventoryCheckFunctions.Contains(delegateFunc))
1151 CanDeleteObjectInventoryCheckFunctions.Remove(delegateFunc); 1151 CanDeleteObjectInventoryCheckFunctions.Remove(delegateFunc);
1152 } 1152 }
1153 1153
1154 public bool ExternalChecksCanDeleteObjectInventory(UUID itemID, UUID objectID, UUID userID) 1154 public bool CanDeleteObjectInventory(UUID itemID, UUID objectID, UUID userID)
1155 { 1155 {
1156 foreach (CanDeleteObjectInventory check in CanDeleteObjectInventoryCheckFunctions) 1156 foreach (CanDeleteObjectInventoryHandler check in CanDeleteObjectInventoryCheckFunctions)
1157 { 1157 {
1158 if (check(itemID, objectID, userID) == false) 1158 if (check(itemID, objectID, userID) == false)
1159 { 1159 {
@@ -1164,17 +1164,17 @@ namespace OpenSim.Region.Environment.Scenes
1164 return true; 1164 return true;
1165 } 1165 }
1166 1166
1167 public delegate bool CanCreateUserInventory(int invType, UUID userID); 1167 public delegate bool CanCreateUserInventoryHandler(int invType, UUID userID);
1168 private List<CanCreateUserInventory> CanCreateUserInventoryCheckFunctions 1168 private List<CanCreateUserInventoryHandler> CanCreateUserInventoryCheckFunctions
1169 = new List<CanCreateUserInventory>(); 1169 = new List<CanCreateUserInventoryHandler>();
1170 1170
1171 public void addCheckCanCreateUserInventory(CanCreateUserInventory delegateFunc) 1171 public void AddCanCreateUserInventoryHandler(CanCreateUserInventoryHandler delegateFunc)
1172 { 1172 {
1173 if (!CanCreateUserInventoryCheckFunctions.Contains(delegateFunc)) 1173 if (!CanCreateUserInventoryCheckFunctions.Contains(delegateFunc))
1174 CanCreateUserInventoryCheckFunctions.Add(delegateFunc); 1174 CanCreateUserInventoryCheckFunctions.Add(delegateFunc);
1175 } 1175 }
1176 1176
1177 public void removeCheckCanCreateUserInventory(CanCreateUserInventory delegateFunc) 1177 public void RemoveCanCreateUserInventoryHandler(CanCreateUserInventoryHandler delegateFunc)
1178 { 1178 {
1179 if (CanCreateUserInventoryCheckFunctions.Contains(delegateFunc)) 1179 if (CanCreateUserInventoryCheckFunctions.Contains(delegateFunc))
1180 CanCreateUserInventoryCheckFunctions.Remove(delegateFunc); 1180 CanCreateUserInventoryCheckFunctions.Remove(delegateFunc);
@@ -1186,9 +1186,9 @@ namespace OpenSim.Region.Environment.Scenes
1186 /// <param name="invType"></param> 1186 /// <param name="invType"></param>
1187 /// <param name="userID"></param> 1187 /// <param name="userID"></param>
1188 /// <returns></returns> 1188 /// <returns></returns>
1189 public bool ExternalChecksCanCreateUserInventory(int invType, UUID userID) 1189 public bool CanCreateUserInventory(int invType, UUID userID)
1190 { 1190 {
1191 foreach (CanCreateUserInventory check in CanCreateUserInventoryCheckFunctions) 1191 foreach (CanCreateUserInventoryHandler check in CanCreateUserInventoryCheckFunctions)
1192 { 1192 {
1193 if (check(invType, userID) == false) 1193 if (check(invType, userID) == false)
1194 { 1194 {
@@ -1199,17 +1199,17 @@ namespace OpenSim.Region.Environment.Scenes
1199 return true; 1199 return true;
1200 } 1200 }
1201 1201
1202 public delegate bool CanEditUserInventory(UUID itemID, UUID userID); 1202 public delegate bool CanEditUserInventoryHandler(UUID itemID, UUID userID);
1203 private List<CanEditUserInventory> CanEditUserInventoryCheckFunctions 1203 private List<CanEditUserInventoryHandler> CanEditUserInventoryCheckFunctions
1204 = new List<CanEditUserInventory>(); 1204 = new List<CanEditUserInventoryHandler>();
1205 1205
1206 public void addCheckCanEditUserInventory(CanEditUserInventory delegateFunc) 1206 public void AddCanEditUserInventoryHandler(CanEditUserInventoryHandler delegateFunc)
1207 { 1207 {
1208 if (!CanEditUserInventoryCheckFunctions.Contains(delegateFunc)) 1208 if (!CanEditUserInventoryCheckFunctions.Contains(delegateFunc))
1209 CanEditUserInventoryCheckFunctions.Add(delegateFunc); 1209 CanEditUserInventoryCheckFunctions.Add(delegateFunc);
1210 } 1210 }
1211 1211
1212 public void removeCheckCanEditUserInventory(CanEditUserInventory delegateFunc) 1212 public void RemoveCanEditUserInventoryHandler(CanEditUserInventoryHandler delegateFunc)
1213 { 1213 {
1214 if (CanEditUserInventoryCheckFunctions.Contains(delegateFunc)) 1214 if (CanEditUserInventoryCheckFunctions.Contains(delegateFunc))
1215 CanEditUserInventoryCheckFunctions.Remove(delegateFunc); 1215 CanEditUserInventoryCheckFunctions.Remove(delegateFunc);
@@ -1221,9 +1221,9 @@ namespace OpenSim.Region.Environment.Scenes
1221 /// <param name="itemID"></param> 1221 /// <param name="itemID"></param>
1222 /// <param name="userID"></param> 1222 /// <param name="userID"></param>
1223 /// <returns></returns> 1223 /// <returns></returns>
1224 public bool ExternalChecksCanEditUserInventory(UUID itemID, UUID userID) 1224 public bool CanEditUserInventory(UUID itemID, UUID userID)
1225 { 1225 {
1226 foreach (CanEditUserInventory check in CanEditUserInventoryCheckFunctions) 1226 foreach (CanEditUserInventoryHandler check in CanEditUserInventoryCheckFunctions)
1227 { 1227 {
1228 if (check(itemID, userID) == false) 1228 if (check(itemID, userID) == false)
1229 { 1229 {
@@ -1234,17 +1234,17 @@ namespace OpenSim.Region.Environment.Scenes
1234 return true; 1234 return true;
1235 } 1235 }
1236 1236
1237 public delegate bool CanCopyUserInventory(UUID itemID, UUID userID); 1237 public delegate bool CanCopyUserInventoryHandler(UUID itemID, UUID userID);
1238 private List<CanCopyUserInventory> CanCopyUserInventoryCheckFunctions 1238 private List<CanCopyUserInventoryHandler> CanCopyUserInventoryCheckFunctions
1239 = new List<CanCopyUserInventory>(); 1239 = new List<CanCopyUserInventoryHandler>();
1240 1240
1241 public void addCheckCanCopyUserInventory(CanCopyUserInventory delegateFunc) 1241 public void AddCanCopyUserInventoryHandler(CanCopyUserInventoryHandler delegateFunc)
1242 { 1242 {
1243 if (!CanCopyUserInventoryCheckFunctions.Contains(delegateFunc)) 1243 if (!CanCopyUserInventoryCheckFunctions.Contains(delegateFunc))
1244 CanCopyUserInventoryCheckFunctions.Add(delegateFunc); 1244 CanCopyUserInventoryCheckFunctions.Add(delegateFunc);
1245 } 1245 }
1246 1246
1247 public void removeCheckCanCopyUserInventory(CanCopyUserInventory delegateFunc) 1247 public void RemoveCanCopyUserInventoryHandler(CanCopyUserInventoryHandler delegateFunc)
1248 { 1248 {
1249 if (CanCopyUserInventoryCheckFunctions.Contains(delegateFunc)) 1249 if (CanCopyUserInventoryCheckFunctions.Contains(delegateFunc))
1250 CanCopyUserInventoryCheckFunctions.Remove(delegateFunc); 1250 CanCopyUserInventoryCheckFunctions.Remove(delegateFunc);
@@ -1256,9 +1256,9 @@ namespace OpenSim.Region.Environment.Scenes
1256 /// <param name="itemID"></param> 1256 /// <param name="itemID"></param>
1257 /// <param name="userID"></param> 1257 /// <param name="userID"></param>
1258 /// <returns></returns> 1258 /// <returns></returns>
1259 public bool ExternalChecksCanCopyUserInventory(UUID itemID, UUID userID) 1259 public bool CanCopyUserInventory(UUID itemID, UUID userID)
1260 { 1260 {
1261 foreach (CanCopyUserInventory check in CanCopyUserInventoryCheckFunctions) 1261 foreach (CanCopyUserInventoryHandler check in CanCopyUserInventoryCheckFunctions)
1262 { 1262 {
1263 if (check(itemID, userID) == false) 1263 if (check(itemID, userID) == false)
1264 { 1264 {
@@ -1269,17 +1269,17 @@ namespace OpenSim.Region.Environment.Scenes
1269 return true; 1269 return true;
1270 } 1270 }
1271 1271
1272 public delegate bool CanDeleteUserInventory(UUID itemID, UUID userID); 1272 public delegate bool CanDeleteUserInventoryHandler(UUID itemID, UUID userID);
1273 private List<CanDeleteUserInventory> CanDeleteUserInventoryCheckFunctions 1273 private List<CanDeleteUserInventoryHandler> CanDeleteUserInventoryCheckFunctions
1274 = new List<CanDeleteUserInventory>(); 1274 = new List<CanDeleteUserInventoryHandler>();
1275 1275
1276 public void addCheckCanDeleteUserInventory(CanDeleteUserInventory delegateFunc) 1276 public void AddCanDeleteUserInventoryHandler(CanDeleteUserInventoryHandler delegateFunc)
1277 { 1277 {
1278 if (!CanDeleteUserInventoryCheckFunctions.Contains(delegateFunc)) 1278 if (!CanDeleteUserInventoryCheckFunctions.Contains(delegateFunc))
1279 CanDeleteUserInventoryCheckFunctions.Add(delegateFunc); 1279 CanDeleteUserInventoryCheckFunctions.Add(delegateFunc);
1280 } 1280 }
1281 1281
1282 public void removeCheckCanDeleteUserInventory(CanDeleteUserInventory delegateFunc) 1282 public void RemoveCanDeleteUserInventoryHandler(CanDeleteUserInventoryHandler delegateFunc)
1283 { 1283 {
1284 if (CanDeleteUserInventoryCheckFunctions.Contains(delegateFunc)) 1284 if (CanDeleteUserInventoryCheckFunctions.Contains(delegateFunc))
1285 CanDeleteUserInventoryCheckFunctions.Remove(delegateFunc); 1285 CanDeleteUserInventoryCheckFunctions.Remove(delegateFunc);
@@ -1291,9 +1291,9 @@ namespace OpenSim.Region.Environment.Scenes
1291 /// <param name="itemID"></param> 1291 /// <param name="itemID"></param>
1292 /// <param name="userID"></param> 1292 /// <param name="userID"></param>
1293 /// <returns></returns> 1293 /// <returns></returns>
1294 public bool ExternalChecksCanDeleteUserInventory(UUID itemID, UUID userID) 1294 public bool CanDeleteUserInventory(UUID itemID, UUID userID)
1295 { 1295 {
1296 foreach (CanDeleteUserInventory check in CanDeleteUserInventoryCheckFunctions) 1296 foreach (CanDeleteUserInventoryHandler check in CanDeleteUserInventoryCheckFunctions)
1297 { 1297 {
1298 if (check(itemID, userID) == false) 1298 if (check(itemID, userID) == false)
1299 { 1299 {
@@ -1304,24 +1304,24 @@ namespace OpenSim.Region.Environment.Scenes
1304 return true; 1304 return true;
1305 } 1305 }
1306 1306
1307 public delegate bool CanTeleport(UUID userID); 1307 public delegate bool CanTeleportHandler(UUID userID);
1308 private List<CanTeleport> CanTeleportCheckFunctions = new List<CanTeleport>(); 1308 private List<CanTeleportHandler> CanTeleportCheckFunctions = new List<CanTeleportHandler>();
1309 1309
1310 public void addCheckCanTeleport(CanTeleport delegateFunc) 1310 public void AddCanTeleportHandler(CanTeleportHandler delegateFunc)
1311 { 1311 {
1312 if (!CanTeleportCheckFunctions.Contains(delegateFunc)) 1312 if (!CanTeleportCheckFunctions.Contains(delegateFunc))
1313 CanTeleportCheckFunctions.Add(delegateFunc); 1313 CanTeleportCheckFunctions.Add(delegateFunc);
1314 } 1314 }
1315 1315
1316 public void removeCheckCanTeleport(CanTeleport delegateFunc) 1316 public void RemoveCanTeleportHandler(CanTeleportHandler delegateFunc)
1317 { 1317 {
1318 if (CanTeleportCheckFunctions.Contains(delegateFunc)) 1318 if (CanTeleportCheckFunctions.Contains(delegateFunc))
1319 CanTeleportCheckFunctions.Remove(delegateFunc); 1319 CanTeleportCheckFunctions.Remove(delegateFunc);
1320 } 1320 }
1321 1321
1322 public bool ExternalChecksCanTeleport(UUID userID) 1322 public bool CanTeleport(UUID userID)
1323 { 1323 {
1324 foreach (CanTeleport check in CanTeleportCheckFunctions) 1324 foreach (CanTeleportHandler check in CanTeleportCheckFunctions)
1325 { 1325 {
1326 if (check(userID) == false) 1326 if (check(userID) == false)
1327 { 1327 {
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 9c29c44..723f874 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -293,7 +293,7 @@ namespace OpenSim.Region.Environment.Scenes
293 m_seeIntoRegionFromNeighbor = SeeIntoRegionFromNeighbor; 293 m_seeIntoRegionFromNeighbor = SeeIntoRegionFromNeighbor;
294 294
295 m_eventManager = new EventManager(); 295 m_eventManager = new EventManager();
296 m_externalChecks = new SceneExternalChecks(this); 296 m_permissions = new ScenePermissions(this);
297 297
298 m_asyncSceneObjectDeleter = new AsyncSceneObjectGroupDeleter(this); 298 m_asyncSceneObjectDeleter = new AsyncSceneObjectGroupDeleter(this);
299 m_asyncSceneObjectDeleter.Enabled = true; 299 m_asyncSceneObjectDeleter.Enabled = true;
@@ -1750,7 +1750,7 @@ namespace OpenSim.Region.Environment.Scenes
1750 { 1750 {
1751 Vector3 pos = GetNewRezLocation(RayStart, RayEnd, RayTargetID, rot, bypassRaycast, RayEndIsIntersection, true, new Vector3(0.5f, 0.5f, 0.5f), false); 1751 Vector3 pos = GetNewRezLocation(RayStart, RayEnd, RayTargetID, rot, bypassRaycast, RayEndIsIntersection, true, new Vector3(0.5f, 0.5f, 0.5f), false);
1752 1752
1753 if (ExternalChecks.ExternalChecksCanRezObject(1, ownerID, pos)) 1753 if (Permissions.CanRezObject(1, ownerID, pos))
1754 { 1754 {
1755 // rez ON the ground, not IN the ground 1755 // rez ON the ground, not IN the ground
1756 pos.Z += 0.25F; 1756 pos.Z += 0.25F;
@@ -3450,7 +3450,7 @@ namespace OpenSim.Region.Environment.Scenes
3450 } 3450 }
3451 3451
3452 // First check that this is the sim owner 3452 // First check that this is the sim owner
3453 if (ExternalChecks.ExternalChecksCanBeGodLike(agentID)) 3453 if (Permissions.IsGod(agentID))
3454 { 3454 {
3455 // Next we check for spoofing..... 3455 // Next we check for spoofing.....
3456 UUID testSessionID = m_scenePresences[agentID].ControllingClient.SessionId; 3456 UUID testSessionID = m_scenePresences[agentID].ControllingClient.SessionId;
@@ -3527,7 +3527,7 @@ namespace OpenSim.Region.Environment.Scenes
3527 { 3527 {
3528 if (m_scenePresences.ContainsKey(agentID) || agentID == kickUserID) 3528 if (m_scenePresences.ContainsKey(agentID) || agentID == kickUserID)
3529 { 3529 {
3530 if (ExternalChecks.ExternalChecksCanBeGodLike(godID)) 3530 if (Permissions.IsGod(godID))
3531 { 3531 {
3532 if (agentID == kickUserID) 3532 if (agentID == kickUserID)
3533 { 3533 {
@@ -3848,7 +3848,7 @@ namespace OpenSim.Region.Environment.Scenes
3848 } 3848 }
3849 else if ((parcel.landData.Flags & (uint)Parcel.ParcelFlags.AllowGroupScripts) != 0) 3849 else if ((parcel.landData.Flags & (uint)Parcel.ParcelFlags.AllowGroupScripts) != 0)
3850 { 3850 {
3851 if (part.OwnerID == parcel.landData.OwnerID || (parcel.landData.IsGroupOwned && part.GroupID == parcel.landData.GroupID) || ExternalChecks.ExternalChecksCanBeGodLike(part.OwnerID)) 3851 if (part.OwnerID == parcel.landData.OwnerID || (parcel.landData.IsGroupOwned && part.GroupID == parcel.landData.GroupID) || Permissions.IsGod(part.OwnerID))
3852 { 3852 {
3853 return true; 3853 return true;
3854 } 3854 }
@@ -4273,7 +4273,7 @@ namespace OpenSim.Region.Environment.Scenes
4273 List<SceneObjectPart> partList = 4273 List<SceneObjectPart> partList =
4274 new List<SceneObjectPart>(group.Children.Values); 4274 new List<SceneObjectPart>(group.Children.Values);
4275 4275
4276 if (ExternalChecks.ExternalChecksPropagatePermissions()) 4276 if (Permissions.PropagatePermissions())
4277 { 4277 {
4278 foreach (SceneObjectPart child in partList) 4278 foreach (SceneObjectPart child in partList)
4279 { 4279 {
diff --git a/OpenSim/Region/Environment/Scenes/SceneBase.cs b/OpenSim/Region/Environment/Scenes/SceneBase.cs
index ee0f6b1..7137c2f 100644
--- a/OpenSim/Region/Environment/Scenes/SceneBase.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneBase.cs
@@ -84,10 +84,10 @@ namespace OpenSim.Region.Environment.Scenes
84 } 84 }
85 85
86 86
87 protected SceneExternalChecks m_externalChecks; 87 protected ScenePermissions m_permissions;
88 public SceneExternalChecks ExternalChecks 88 public ScenePermissions Permissions
89 { 89 {
90 get { return m_externalChecks; } 90 get { return m_permissions; }
91 } 91 }
92 92
93 protected string m_datastore; 93 protected string m_datastore;
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
index 8167c68..64da9d4 100644
--- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
@@ -599,7 +599,7 @@ namespace OpenSim.Region.Environment.Scenes
599 public virtual void RequestTeleportToLocation(ScenePresence avatar, ulong regionHandle, Vector3 position, 599 public virtual void RequestTeleportToLocation(ScenePresence avatar, ulong regionHandle, Vector3 position,
600 Vector3 lookAt, uint teleportFlags) 600 Vector3 lookAt, uint teleportFlags)
601 { 601 {
602 if (!avatar.Scene.ExternalChecks.ExternalChecksCanTeleport(avatar.UUID)) 602 if (!avatar.Scene.Permissions.CanTeleport(avatar.UUID))
603 return; 603 return;
604 604
605 bool destRegionUp = false; 605 bool destRegionUp = false;
diff --git a/OpenSim/Region/Environment/Scenes/SceneGraph.cs b/OpenSim/Region/Environment/Scenes/SceneGraph.cs
index 18fe151..4c15da2 100644
--- a/OpenSim/Region/Environment/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneGraph.cs
@@ -431,7 +431,7 @@ namespace OpenSim.Region.Environment.Scenes
431 { 431 {
432 SceneObjectGroup group = (SceneObjectGroup)obj; 432 SceneObjectGroup group = (SceneObjectGroup)obj;
433 433
434 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId)) 434 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId))
435 group.SetGroup(GroupID, remoteClient); 435 group.SetGroup(GroupID, remoteClient);
436 else 436 else
437 remoteClient.SendAgentAlertMessage("You don't have permission to set the group", false); 437 remoteClient.SendAgentAlertMessage("You don't have permission to set the group", false);
@@ -455,7 +455,7 @@ namespace OpenSim.Region.Environment.Scenes
455 if (part == null) 455 if (part == null)
456 return; 456 return;
457 457
458 if (!m_parentScene.ExternalChecks.ExternalChecksCanTakeObject( 458 if (!m_parentScene.Permissions.CanTakeObject(
459 part.UUID, remoteClient.AgentId)) 459 part.UUID, remoteClient.AgentId))
460 return; 460 return;
461 461
@@ -522,7 +522,7 @@ namespace OpenSim.Region.Environment.Scenes
522 if (((SceneObjectGroup)obj).LocalId == objectLocalID) 522 if (((SceneObjectGroup)obj).LocalId == objectLocalID)
523 { 523 {
524 SceneObjectGroup group = (SceneObjectGroup)obj; 524 SceneObjectGroup group = (SceneObjectGroup)obj;
525 if (m_parentScene.ExternalChecks.ExternalChecksCanTakeObject(obj.UUID, remoteClient.AgentId)) 525 if (m_parentScene.Permissions.CanTakeObject(obj.UUID, remoteClient.AgentId))
526 { 526 {
527 // If the attachment point isn't the same as the one previously used 527 // If the attachment point isn't the same as the one previously used
528 // set it's offset position = 0 so that it appears on the attachment point 528 // set it's offset position = 0 so that it appears on the attachment point
@@ -1056,7 +1056,7 @@ namespace OpenSim.Region.Environment.Scenes
1056 SceneObjectGroup group = GetGroupByPrim(localID); 1056 SceneObjectGroup group = GetGroupByPrim(localID);
1057 if (group != null) 1057 if (group != null)
1058 { 1058 {
1059 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId)) 1059 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId))
1060 { 1060 {
1061 group.Resize(scale, localID); 1061 group.Resize(scale, localID);
1062 } 1062 }
@@ -1068,7 +1068,7 @@ namespace OpenSim.Region.Environment.Scenes
1068 SceneObjectGroup group = GetGroupByPrim(localID); 1068 SceneObjectGroup group = GetGroupByPrim(localID);
1069 if (group != null) 1069 if (group != null)
1070 { 1070 {
1071 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId)) 1071 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId))
1072 { 1072 {
1073 group.GroupResize(scale, localID); 1073 group.GroupResize(scale, localID);
1074 } 1074 }
@@ -1104,7 +1104,7 @@ namespace OpenSim.Region.Environment.Scenes
1104 SceneObjectGroup group = GetGroupByPrim(localID); 1104 SceneObjectGroup group = GetGroupByPrim(localID);
1105 if (group != null) 1105 if (group != null)
1106 { 1106 {
1107 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId)) 1107 if (m_parentScene.Permissions.CanMoveObject(group.UUID, remoteClient.AgentId))
1108 { 1108 {
1109 group.UpdateSingleRotation(rot, localID); 1109 group.UpdateSingleRotation(rot, localID);
1110 } 1110 }
@@ -1122,7 +1122,7 @@ namespace OpenSim.Region.Environment.Scenes
1122 SceneObjectGroup group = GetGroupByPrim(localID); 1122 SceneObjectGroup group = GetGroupByPrim(localID);
1123 if (group != null) 1123 if (group != null)
1124 { 1124 {
1125 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId)) 1125 if (m_parentScene.Permissions.CanMoveObject(group.UUID, remoteClient.AgentId))
1126 { 1126 {
1127 group.UpdateGroupRotation(rot); 1127 group.UpdateGroupRotation(rot);
1128 } 1128 }
@@ -1141,7 +1141,7 @@ namespace OpenSim.Region.Environment.Scenes
1141 SceneObjectGroup group = GetGroupByPrim(localID); 1141 SceneObjectGroup group = GetGroupByPrim(localID);
1142 if (group != null) 1142 if (group != null)
1143 { 1143 {
1144 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId)) 1144 if (m_parentScene.Permissions.CanMoveObject(group.UUID, remoteClient.AgentId))
1145 { 1145 {
1146 group.UpdateGroupRotation(pos, rot); 1146 group.UpdateGroupRotation(pos, rot);
1147 } 1147 }
@@ -1159,7 +1159,7 @@ namespace OpenSim.Region.Environment.Scenes
1159 SceneObjectGroup group = GetGroupByPrim(localID); 1159 SceneObjectGroup group = GetGroupByPrim(localID);
1160 if (group != null) 1160 if (group != null)
1161 { 1161 {
1162 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId) || group.IsAttachment) 1162 if (m_parentScene.Permissions.CanMoveObject(group.UUID, remoteClient.AgentId) || group.IsAttachment)
1163 { 1163 {
1164 group.UpdateSinglePosition(pos, localID); 1164 group.UpdateSinglePosition(pos, localID);
1165 } 1165 }
@@ -1185,7 +1185,7 @@ namespace OpenSim.Region.Environment.Scenes
1185 } 1185 }
1186 else 1186 else
1187 { 1187 {
1188 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId) || group.IsAttachment) 1188 if (m_parentScene.Permissions.CanMoveObject(group.UUID, remoteClient.AgentId) || group.IsAttachment)
1189 { 1189 {
1190 group.UpdateGroupPosition(pos); 1190 group.UpdateGroupPosition(pos);
1191 } 1191 }
@@ -1204,7 +1204,7 @@ namespace OpenSim.Region.Environment.Scenes
1204 SceneObjectGroup group = GetGroupByPrim(localID); 1204 SceneObjectGroup group = GetGroupByPrim(localID);
1205 if (group != null) 1205 if (group != null)
1206 { 1206 {
1207 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID,remoteClient.AgentId)) 1207 if (m_parentScene.Permissions.CanEditObject(group.UUID,remoteClient.AgentId))
1208 { 1208 {
1209 group.UpdateTextureEntry(localID, texture); 1209 group.UpdateTextureEntry(localID, texture);
1210 } 1210 }
@@ -1222,7 +1222,7 @@ namespace OpenSim.Region.Environment.Scenes
1222 SceneObjectGroup group = GetGroupByPrim(localID); 1222 SceneObjectGroup group = GetGroupByPrim(localID);
1223 if (group != null) 1223 if (group != null)
1224 { 1224 {
1225 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId)) 1225 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId))
1226 { 1226 {
1227 group.UpdatePrimFlags(localID, UsePhysics, IsTemporary, IsPhantom); 1227 group.UpdatePrimFlags(localID, UsePhysics, IsTemporary, IsPhantom);
1228 } 1228 }
@@ -1241,7 +1241,7 @@ namespace OpenSim.Region.Environment.Scenes
1241 SceneObjectGroup group = GetGroupByPrim(objectID); 1241 SceneObjectGroup group = GetGroupByPrim(objectID);
1242 if (group != null) 1242 if (group != null)
1243 { 1243 {
1244 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId))// && PermissionsMngr.) 1244 if (m_parentScene.Permissions.CanMoveObject(group.UUID, remoteClient.AgentId))// && PermissionsMngr.)
1245 { 1245 {
1246 group.GrabMovement(offset, pos, remoteClient); 1246 group.GrabMovement(offset, pos, remoteClient);
1247 } 1247 }
@@ -1263,7 +1263,7 @@ namespace OpenSim.Region.Environment.Scenes
1263 SceneObjectGroup group = GetGroupByPrim(primLocalID); 1263 SceneObjectGroup group = GetGroupByPrim(primLocalID);
1264 if (group != null) 1264 if (group != null)
1265 { 1265 {
1266 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId)) 1266 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId))
1267 { 1267 {
1268 group.SetPartName(Util.CleanString(name), primLocalID); 1268 group.SetPartName(Util.CleanString(name), primLocalID);
1269 group.HasGroupChanged = true; 1269 group.HasGroupChanged = true;
@@ -1281,7 +1281,7 @@ namespace OpenSim.Region.Environment.Scenes
1281 SceneObjectGroup group = GetGroupByPrim(primLocalID); 1281 SceneObjectGroup group = GetGroupByPrim(primLocalID);
1282 if (group != null) 1282 if (group != null)
1283 { 1283 {
1284 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId)) 1284 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId))
1285 { 1285 {
1286 group.SetPartDescription(Util.CleanString(description), primLocalID); 1286 group.SetPartDescription(Util.CleanString(description), primLocalID);
1287 group.HasGroupChanged = true; 1287 group.HasGroupChanged = true;
@@ -1294,7 +1294,7 @@ namespace OpenSim.Region.Environment.Scenes
1294 SceneObjectGroup group = GetGroupByPrim(primLocalID); 1294 SceneObjectGroup group = GetGroupByPrim(primLocalID);
1295 if (group != null) 1295 if (group != null)
1296 { 1296 {
1297 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId)) 1297 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId))
1298 { 1298 {
1299 SceneObjectPart part = m_parentScene.GetSceneObjectPart(primLocalID); 1299 SceneObjectPart part = m_parentScene.GetSceneObjectPart(primLocalID);
1300 part.ClickAction = Convert.ToByte(clickAction); 1300 part.ClickAction = Convert.ToByte(clickAction);
@@ -1308,7 +1308,7 @@ namespace OpenSim.Region.Environment.Scenes
1308 SceneObjectGroup group = GetGroupByPrim(primLocalID); 1308 SceneObjectGroup group = GetGroupByPrim(primLocalID);
1309 if (group != null) 1309 if (group != null)
1310 { 1310 {
1311 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId)) 1311 if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId))
1312 { 1312 {
1313 SceneObjectPart part = m_parentScene.GetSceneObjectPart(primLocalID); 1313 SceneObjectPart part = m_parentScene.GetSceneObjectPart(primLocalID);
1314 part.Material = Convert.ToByte(material); 1314 part.Material = Convert.ToByte(material);
@@ -1323,7 +1323,7 @@ namespace OpenSim.Region.Environment.Scenes
1323 1323
1324 if (group != null) 1324 if (group != null)
1325 { 1325 {
1326 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID,agentID)) 1326 if (m_parentScene.Permissions.CanEditObject(group.UUID,agentID))
1327 { 1327 {
1328 group.UpdateExtraParam(primLocalID, type, inUse, data); 1328 group.UpdateExtraParam(primLocalID, type, inUse, data);
1329 } 1329 }
@@ -1340,7 +1340,7 @@ namespace OpenSim.Region.Environment.Scenes
1340 SceneObjectGroup group = GetGroupByPrim(primLocalID); 1340 SceneObjectGroup group = GetGroupByPrim(primLocalID);
1341 if (group != null) 1341 if (group != null)
1342 { 1342 {
1343 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.GetPartsFullID(primLocalID), agentID)) 1343 if (m_parentScene.Permissions.CanEditObject(group.GetPartsFullID(primLocalID), agentID))
1344 { 1344 {
1345 ObjectShapePacket.ObjectDataBlock shapeData = new ObjectShapePacket.ObjectDataBlock(); 1345 ObjectShapePacket.ObjectDataBlock shapeData = new ObjectShapePacket.ObjectDataBlock();
1346 shapeData.ObjectLocalID = shapeBlock.ObjectLocalID; 1346 shapeData.ObjectLocalID = shapeBlock.ObjectLocalID;
@@ -1612,12 +1612,12 @@ namespace OpenSim.Region.Environment.Scenes
1612 // libomv will complain about PrimFlags.JointWheel being 1612 // libomv will complain about PrimFlags.JointWheel being
1613 // deprecated, so we 1613 // deprecated, so we
1614 #pragma warning disable 0612 1614 #pragma warning disable 0612
1615 if (IncludeInSearch && m_parentScene.ExternalChecks.ExternalChecksCanEditObject(objid, user)) 1615 if (IncludeInSearch && m_parentScene.Permissions.CanEditObject(objid, user))
1616 { 1616 {
1617 obj.ParentGroup.RootPart.AddFlag(PrimFlags.JointWheel); 1617 obj.ParentGroup.RootPart.AddFlag(PrimFlags.JointWheel);
1618 obj.ParentGroup.HasGroupChanged = true; 1618 obj.ParentGroup.HasGroupChanged = true;
1619 } 1619 }
1620 else if (!IncludeInSearch && m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(objid,user)) 1620 else if (!IncludeInSearch && m_parentScene.Permissions.CanMoveObject(objid,user))
1621 { 1621 {
1622 obj.ParentGroup.RootPart.RemFlag(PrimFlags.JointWheel); 1622 obj.ParentGroup.RootPart.RemFlag(PrimFlags.JointWheel);
1623 obj.ParentGroup.HasGroupChanged = true; 1623 obj.ParentGroup.HasGroupChanged = true;
@@ -1665,7 +1665,7 @@ namespace OpenSim.Region.Environment.Scenes
1665 1665
1666 if (originPrim != null) 1666 if (originPrim != null)
1667 { 1667 {
1668 if (m_parentScene.ExternalChecks.ExternalChecksCanDuplicateObject(originPrim.Children.Count, originPrim.UUID, AgentID, originPrim.AbsolutePosition)) 1668 if (m_parentScene.Permissions.CanDuplicateObject(originPrim.Children.Count, originPrim.UUID, AgentID, originPrim.AbsolutePosition))
1669 { 1669 {
1670 SceneObjectGroup copy = originPrim.Copy(AgentID, GroupID, true); 1670 SceneObjectGroup copy = originPrim.Copy(AgentID, GroupID, true);
1671 copy.AbsolutePosition = copy.AbsolutePosition + offset; 1671 copy.AbsolutePosition = copy.AbsolutePosition + offset;
diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs
index 2af31d6..30dd497 100644
--- a/OpenSim/Region/Environment/Scenes/SceneManager.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs
@@ -261,7 +261,7 @@ namespace OpenSim.Region.Environment.Scenes
261 261
262 public void SetBypassPermissionsOnCurrentScene(bool bypassPermissions) 262 public void SetBypassPermissionsOnCurrentScene(bool bypassPermissions)
263 { 263 {
264 ForEachCurrentScene(delegate(Scene scene) { scene.ExternalChecks.ExternalChecksSetBypassPermissions(bypassPermissions); }); 264 ForEachCurrentScene(delegate(Scene scene) { scene.Permissions.SetBypassPermissions(bypassPermissions); });
265 } 265 }
266 266
267 private void ForEachCurrentScene(Action<Scene> func) 267 private void ForEachCurrentScene(Action<Scene> func)
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs
index 9ca5564..62e680b 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs
@@ -157,7 +157,7 @@ namespace OpenSim.Region.Environment.Scenes
157 157
158 if (remoteClient != null && 158 if (remoteClient != null &&
159 remoteClient.AgentId != part.OwnerID && 159 remoteClient.AgentId != part.OwnerID &&
160 m_scene.ExternalChecks.ExternalChecksPropagatePermissions()) 160 m_scene.Permissions.PropagatePermissions())
161 { 161 {
162 taskItem.BasePermissions = item.BasePermissions & 162 taskItem.BasePermissions = item.BasePermissions &
163 item.NextPermissions; 163 item.NextPermissions;
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index fcda37b..0eefda1 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -1277,14 +1277,14 @@ namespace OpenSim.Region.Environment.Scenes
1277 1277
1278 public void SendFullUpdateToClient(IClientAPI remoteClient) 1278 public void SendFullUpdateToClient(IClientAPI remoteClient)
1279 { 1279 {
1280 SendPartFullUpdate(remoteClient, RootPart, m_scene.ExternalChecks.ExternalChecksGenerateClientFlags(remoteClient.AgentId, RootPart.UUID)); 1280 SendPartFullUpdate(remoteClient, RootPart, m_scene.Permissions.GenerateClientFlags(remoteClient.AgentId, RootPart.UUID));
1281 1281
1282 lock (m_parts) 1282 lock (m_parts)
1283 { 1283 {
1284 foreach (SceneObjectPart part in m_parts.Values) 1284 foreach (SceneObjectPart part in m_parts.Values)
1285 { 1285 {
1286 if (part != RootPart) 1286 if (part != RootPart)
1287 SendPartFullUpdate(remoteClient, part, m_scene.ExternalChecks.ExternalChecksGenerateClientFlags(remoteClient.AgentId, part.UUID)); 1287 SendPartFullUpdate(remoteClient, part, m_scene.Permissions.GenerateClientFlags(remoteClient.AgentId, part.UUID));
1288 } 1288 }
1289 } 1289 }
1290 } 1290 }
@@ -1493,7 +1493,7 @@ namespace OpenSim.Region.Environment.Scenes
1493 if (part.OwnerID != cAgentID) 1493 if (part.OwnerID != cAgentID)
1494 { 1494 {
1495 // Apply Next Owner Permissions if we're not bypassing permissions 1495 // Apply Next Owner Permissions if we're not bypassing permissions
1496 if (!m_scene.ExternalChecks.ExternalChecksBypassPermissions()) 1496 if (!m_scene.Permissions.BypassPermissions())
1497 ApplyNextOwnerPermissions(); 1497 ApplyNextOwnerPermissions();
1498 } 1498 }
1499 1499
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 8a58e71..712cbac 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -2997,7 +2997,7 @@ if (m_shape != null) {
2997 public void UpdatePermissions(UUID AgentID, byte field, uint localID, uint mask, byte addRemTF) 2997 public void UpdatePermissions(UUID AgentID, byte field, uint localID, uint mask, byte addRemTF)
2998 { 2998 {
2999 bool set = addRemTF == 1; 2999 bool set = addRemTF == 1;
3000 bool god = m_parentGroup.Scene.ExternalChecks.ExternalChecksCanBeGodLike(AgentID); 3000 bool god = m_parentGroup.Scene.Permissions.IsGod(AgentID);
3001 3001
3002 uint baseMask = _baseMask; 3002 uint baseMask = _baseMask;
3003 if (god) 3003 if (god)
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPartInventory.cs
index 0a6f22c..aff1ef1 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPartInventory.cs
@@ -230,7 +230,7 @@ namespace OpenSim.Region.Environment.Scenes
230 // "Starting script {0}, {1} in prim {2}, {3}", 230 // "Starting script {0}, {1} in prim {2}, {3}",
231 // item.Name, item.ItemID, Name, UUID); 231 // item.Name, item.ItemID, Name, UUID);
232 232
233 if (!m_part.ParentGroup.Scene.ExternalChecks.ExternalChecksCanRunScript(item.ItemID, m_part.UUID, item.OwnerID)) 233 if (!m_part.ParentGroup.Scene.Permissions.CanRunScript(item.ItemID, m_part.UUID, item.OwnerID))
234 return; 234 return;
235 235
236 m_part.AddFlag(PrimFlags.Scripted); 236 m_part.AddFlag(PrimFlags.Scripted);
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index b293f9e..042a4fb 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -577,7 +577,7 @@ namespace OpenSim.Region.Environment.Scenes
577 577
578 public uint GenerateClientFlags(UUID ObjectID) 578 public uint GenerateClientFlags(UUID ObjectID)
579 { 579 {
580 return m_scene.ExternalChecks.ExternalChecksGenerateClientFlags(m_uuid, ObjectID); 580 return m_scene.Permissions.GenerateClientFlags(m_uuid, ObjectID);
581 } 581 }
582 582
583 /// <summary> 583 /// <summary>
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 15ce756..7ccd71c 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -5111,7 +5111,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
5111 { 5111 {
5112 if (m_host.ObjectOwner == parcel.landData.OwnerID || 5112 if (m_host.ObjectOwner == parcel.landData.OwnerID ||
5113 (m_host.OwnerID == m_host.GroupID && m_host.GroupID == parcel.landData.GroupID 5113 (m_host.OwnerID == m_host.GroupID && m_host.GroupID == parcel.landData.GroupID
5114 && parcel.landData.IsGroupOwned) || World.ExternalChecks.ExternalChecksCanBeGodLike(m_host.OwnerID)) 5114 && parcel.landData.IsGroupOwned) || World.Permissions.IsGod(m_host.OwnerID))
5115 { 5115 {
5116 av.StandUp(); 5116 av.StandUp();
5117 } 5117 }
@@ -7408,7 +7408,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7408 7408
7409 if (config.Configs["XEngine"].GetBoolean("AllowGodFunctions", false)) 7409 if (config.Configs["XEngine"].GetBoolean("AllowGodFunctions", false))
7410 { 7410 {
7411 if (World.ExternalChecks.ExternalChecksCanRunConsoleCommand(m_host.OwnerID)) 7411 if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID))
7412 { 7412 {
7413 if (mask == ScriptBaseClass.MASK_BASE)//0 7413 if (mask == ScriptBaseClass.MASK_BASE)//0
7414 { 7414 {
@@ -7701,7 +7701,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
7701 // according to the docs, this command only works if script owner and land owner are the same 7701 // according to the docs, this command only works if script owner and land owner are the same
7702 // lets add estate owners and gods, too, and use the generic permission check. 7702 // lets add estate owners and gods, too, and use the generic permission check.
7703 ILandObject landObject = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); 7703 ILandObject landObject = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
7704 if (!World.ExternalChecks.ExternalChecksCanEditParcel(m_host.ObjectOwner, landObject)) return; 7704 if (!World.Permissions.CanEditParcel(m_host.ObjectOwner, landObject)) return;
7705 7705
7706 bool update = false; // send a ParcelMediaUpdate (and possibly change the land's media URL)? 7706 bool update = false; // send a ParcelMediaUpdate (and possibly change the land's media URL)?
7707 7707
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 3d1fe3b..08c2f2f 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -276,7 +276,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
276 if (x > 255 || x < 0 || y > 255 || y < 0) 276 if (x > 255 || x < 0 || y > 255 || y < 0)
277 OSSLError("osTerrainSetHeight: Coordinate out of bounds"); 277 OSSLError("osTerrainSetHeight: Coordinate out of bounds");
278 278
279 if (World.ExternalChecks.ExternalChecksCanTerraformLand(m_host.OwnerID, new Vector3(x, y, 0))) 279 if (World.Permissions.CanTerraformLand(m_host.OwnerID, new Vector3(x, y, 0)))
280 { 280 {
281 World.Heightmap[x, y] = val; 281 World.Heightmap[x, y] = val;
282 return 1; 282 return 1;
@@ -309,7 +309,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
309 CheckThreatLevel(ThreatLevel.High, "osRegionRestart"); 309 CheckThreatLevel(ThreatLevel.High, "osRegionRestart");
310 310
311 m_host.AddScriptLPS(1); 311 m_host.AddScriptLPS(1);
312 if (World.ExternalChecks.ExternalChecksCanIssueEstateCommand(m_host.OwnerID, false)) 312 if (World.Permissions.CanIssueEstateCommand(m_host.OwnerID, false))
313 { 313 {
314 World.Restart((float)seconds); 314 World.Restart((float)seconds);
315 return 1; 315 return 1;
@@ -461,7 +461,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
461 461
462 m_host.AddScriptLPS(1); 462 m_host.AddScriptLPS(1);
463 463
464 if (World.ExternalChecks.ExternalChecksCanRunConsoleCommand(m_host.OwnerID)) 464 if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID))
465 { 465 {
466 MainConsole.Instance.RunCommand(command); 466 MainConsole.Instance.RunCommand(command);
467 return true; 467 return true;
@@ -663,7 +663,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
663 m_host.AddScriptLPS(1); 663 m_host.AddScriptLPS(1);
664 //Check to make sure that the script's owner is the estate manager/master 664 //Check to make sure that the script's owner is the estate manager/master
665 //World.Permissions.GenericEstatePermission( 665 //World.Permissions.GenericEstatePermission(
666 if (World.ExternalChecks.ExternalChecksCanBeGodLike(m_host.OwnerID)) 666 if (World.Permissions.IsGod(m_host.OwnerID))
667 { 667 {
668 World.EventManager.TriggerRequestChangeWaterHeight((float)height); 668 World.EventManager.TriggerRequestChangeWaterHeight((float)height);
669 } 669 }