From ba723a4cf65e7a82f5072eaab51dc008f4a2bfd9 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 21 Nov 2008 22:14:57 +0000 Subject: Refactor: Scene.ExternalChecks -> Scene.Permissions. Also make all the internals of the permissions module adapter sane --- .../Modules/World/Estate/EstateManagementModule.cs | 12 ++-- .../Modules/World/Land/LandManagementModule.cs | 12 ++-- .../Environment/Modules/World/Land/LandObject.cs | 8 +-- .../Modules/World/Permissions/PermissionsModule.cs | 82 +++++++++++----------- .../Modules/World/Terrain/TerrainModule.cs | 8 +-- 5 files changed, 61 insertions(+), 61 deletions(-) (limited to 'OpenSim/Region/Environment/Modules/World') 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 else estateOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID; - if (m_scene.ExternalChecks.ExternalChecksCanBeGodLike(remote_client.AgentId)) + if (m_scene.Permissions.IsGod(remote_client.AgentId)) estateOwner = remote_client.AgentId; remote_client.SendDetailedEstateData(invoice, @@ -233,7 +233,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate switch (estateAccessType) { case 64: - if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, false) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) + if (m_scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, false) || m_scene.Permissions.BypassPermissions()) { EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans; @@ -285,7 +285,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate } break; case 128: - if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, false) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) + if (m_scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, false) || m_scene.Permissions.BypassPermissions()) { EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans; @@ -321,7 +321,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate break; case 256: - if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, true) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) + if (m_scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, true) || m_scene.Permissions.BypassPermissions()) { m_scene.RegionInfo.EstateSettings.AddEstateManager(user); m_scene.RegionInfo.EstateSettings.Save(); @@ -334,7 +334,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate break; case 512: - if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, true) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) + if (m_scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, true) || m_scene.Permissions.BypassPermissions()) { m_scene.RegionInfo.EstateSettings.RemoveEstateManager(user); m_scene.RegionInfo.EstateSettings.Save(); @@ -742,7 +742,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID; // Fudge estate owner - //if (m_scene.ExternalChecks.ExternalChecksCanBeGodLike(remoteClient.AgentId)) + //if (m_scene.Permissions.IsGod(remoteClient.AgentId)) // args.SimOwner = remoteClient.AgentId; 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 //If we are still here, then they are subdividing within one piece of land //Check owner - if (!m_scene.ExternalChecks.ExternalChecksCanEditParcel(attempting_user_id, startLandObject)) + if (!m_scene.Permissions.CanEditParcel(attempting_user_id, startLandObject)) { return; } @@ -797,7 +797,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land { return; } - if (!m_scene.ExternalChecks.ExternalChecksCanEditParcel(attempting_user_id, masterLandObject)) + if (!m_scene.Permissions.CanEditParcel(attempting_user_id, masterLandObject)) { return; } @@ -1009,7 +1009,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land if (land != null) { - if (m_scene.ExternalChecks.ExternalChecksCanBeGodLike(remote_client.AgentId)) + if (m_scene.Permissions.IsGod(remote_client.AgentId)) { land.landData.OwnerID = ownerID; @@ -1029,7 +1029,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land if (land != null) { - if (m_scene.ExternalChecks.ExternalChecksCanAbandonParcel(remote_client.AgentId, land)) + if (m_scene.Permissions.CanAbandonParcel(remote_client.AgentId, land)) { if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) land.landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; @@ -1051,7 +1051,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land if (land != null) { - if (m_scene.ExternalChecks.ExternalChecksCanReclaimParcel(remote_client.AgentId, land)) + if (m_scene.Permissions.CanReclaimParcel(remote_client.AgentId, land)) { if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) land.landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; @@ -1321,7 +1321,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land if (land == null) return; - if (!m_scene.ExternalChecks.ExternalChecksCanEditParcel(remoteClient.AgentId, land)) + if (!m_scene.Permissions.CanEditParcel(remoteClient.AgentId, land)) return; 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 public void updateLandProperties(LandUpdateArgs args, IClientAPI remote_client) { - if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId,this)) + if (m_scene.Permissions.CanEditParcel(remote_client.AgentId,this)) { //Needs later group support LandData newData = landData.Copy(); if (args.AuthBuyerID != newData.AuthBuyerID || args.SalePrice != newData.SalePrice) { - if (m_scene.ExternalChecks.ExternalChecksCanSellParcel(remote_client.AgentId, this)) + if (m_scene.Permissions.CanSellParcel(remote_client.AgentId, this)) { newData.AuthBuyerID = args.AuthBuyerID; newData.SalePrice = args.SalePrice; @@ -647,7 +647,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land public void sendForceObjectSelect(int local_id, int request_type, List returnIDs, IClientAPI remote_client) { - if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId, this)) + if (m_scene.Permissions.CanEditParcel(remote_client.AgentId, this)) { List resultLocalIDs = new List(); try @@ -697,7 +697,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land /// public void sendLandObjectOwners(IClientAPI remote_client) { - if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId, this)) + if (m_scene.Permissions.CanEditParcel(remote_client.AgentId, this)) { Dictionary primCount = new Dictionary(); 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 m_log.Debug("[PERMISSIONS]: Enabling all region service permission checks"); //Register functions with Scene External Checks! - m_scene.ExternalChecks.addBypassPermissions(BypassPermissions); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addSetBypassPermissions(SetBypassPermissions); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addPropagatePermissions(PropagatePermissions); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckAbandonParcel(CanAbandonParcel); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckReclaimParcel(CanReclaimParcel); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addGenerateClientFlags(GenerateClientFlags); //NOT YET FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckBeGodLike(CanBeGodLike); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckDuplicateObject(CanDuplicateObject); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckDeleteObject(CanDeleteObject); //MAYBE FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckEditObject(CanEditObject);//MAYBE FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckEditParcel(CanEditParcel); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckInstantMessage(CanInstantMessage); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckInventoryTransfer(CanInventoryTransfer); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckIssueEstateCommand(CanIssueEstateCommand); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckMoveObject(CanMoveObject); //HOPEFULLY FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckObjectEntry(CanObjectEntry); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckReturnObject(CanReturnObject); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckRezObject(CanRezObject); //HOPEFULLY FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckRunConsoleCommand(CanRunConsoleCommand); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckRunScript(CanRunScript); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckSellParcel(CanSellParcel); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckTakeObject(CanTakeObject); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckTakeCopyObject(CanTakeCopyObject); //FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckTerraformLand(CanTerraformLand); //FULL IMPLEMENTED (POINT ONLY!!! NOT AREA!!!) - m_scene.ExternalChecks.addCheckCanLinkObject(CanLinkObject); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckCanDelinkObject(CanDelinkObject); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckCanBuyLand(CanBuyLand); //NOT YET IMPLEMENTED + m_scene.Permissions.AddBypassPermissionsHandler(BypassPermissions); //FULLY IMPLEMENTED + m_scene.Permissions.AddSetBypassPermissionsHandler(SetBypassPermissions); //FULLY IMPLEMENTED + m_scene.Permissions.AddPropagatePermissionsHandler(PropagatePermissions); //FULLY IMPLEMENTED + m_scene.Permissions.AddGenerateClientFlagsHandler(GenerateClientFlags); //NOT YET FULLY IMPLEMENTED + m_scene.Permissions.AddAbandonParcelHandler(CanAbandonParcel); //FULLY IMPLEMENTED + m_scene.Permissions.AddReclaimParcelHandler(CanReclaimParcel); //FULLY IMPLEMENTED + m_scene.Permissions.AddIsGodHandler(IsGod); //FULLY IMPLEMENTED + m_scene.Permissions.AddDuplicateObjectHandler(CanDuplicateObject); //FULLY IMPLEMENTED + m_scene.Permissions.AddDeleteObjectHandler(CanDeleteObject); //MAYBE FULLY IMPLEMENTED + m_scene.Permissions.AddEditObjectHandler(CanEditObject);//MAYBE FULLY IMPLEMENTED + m_scene.Permissions.AddEditParcelHandler(CanEditParcel); //FULLY IMPLEMENTED + m_scene.Permissions.AddInstantMessageHandler(CanInstantMessage); //FULLY IMPLEMENTED + m_scene.Permissions.AddInventoryTransferHandler(CanInventoryTransfer); //NOT YET IMPLEMENTED + m_scene.Permissions.AddIssueEstateCommandHandler(CanIssueEstateCommand); //FULLY IMPLEMENTED + m_scene.Permissions.AddMoveObjectHandler(CanMoveObject); //HOPEFULLY FULLY IMPLEMENTED + m_scene.Permissions.AddObjectEntryHandler(CanObjectEntry); //FULLY IMPLEMENTED + m_scene.Permissions.AddReturnObjectHandler(CanReturnObject); //NOT YET IMPLEMENTED + m_scene.Permissions.AddRezObjectHandler(CanRezObject); //HOPEFULLY FULLY IMPLEMENTED + m_scene.Permissions.AddRunConsoleCommandHandler(CanRunConsoleCommand); //FULLY IMPLEMENTED + m_scene.Permissions.AddRunScriptHandler(CanRunScript); //NOT YET IMPLEMENTED + m_scene.Permissions.AddSellParcelHandler(CanSellParcel); //FULLY IMPLEMENTED + m_scene.Permissions.AddTakeObjectHandler(CanTakeObject); //FULLY IMPLEMENTED + m_scene.Permissions.AddTakeCopyObjectHandler(CanTakeCopyObject); //FULLY IMPLEMENTED + m_scene.Permissions.AddTerraformLandHandler(CanTerraformLand); //FULL IMPLEMENTED (POINT ONLY!!! NOT AREA!!!) + m_scene.Permissions.AddCanLinkObjectHandler(CanLinkObject); //NOT YET IMPLEMENTED + m_scene.Permissions.AddCanDelinkObjectHandler(CanDelinkObject); //NOT YET IMPLEMENTED + m_scene.Permissions.AddCanBuyLandHandler(CanBuyLand); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckViewNotecard(CanViewNotecard); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckViewScript(CanViewScript); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckEditNotecard(CanEditNotecard); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckEditScript(CanEditScript); //NOT YET IMPLEMENTED + m_scene.Permissions.AddViewNotecardHandler(CanViewNotecard); //NOT YET IMPLEMENTED + m_scene.Permissions.AddViewScriptHandler(CanViewScript); //NOT YET IMPLEMENTED + m_scene.Permissions.AddEditNotecardHandler(CanEditNotecard); //NOT YET IMPLEMENTED + m_scene.Permissions.AddEditScriptHandler(CanEditScript); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckCanCreateObjectInventory(CanCreateObjectInventory); //NOT IMPLEMENTED HERE - m_scene.ExternalChecks.addCheckEditObjectInventory(CanEditObjectInventory);//MAYBE FULLY IMPLEMENTED - m_scene.ExternalChecks.addCheckCanCopyObjectInventory(CanCopyObjectInventory); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckCanDeleteObjectInventory(CanDeleteObjectInventory); //NOT YET IMPLEMENTED + m_scene.Permissions.AddCanCreateObjectInventoryHandler(CanCreateObjectInventory); //NOT IMPLEMENTED HERE + m_scene.Permissions.AddEditObjectInventoryHandler(CanEditObjectInventory);//MAYBE FULLY IMPLEMENTED + m_scene.Permissions.AddCanCopyObjectInventoryHandler(CanCopyObjectInventory); //NOT YET IMPLEMENTED + m_scene.Permissions.AddCanDeleteObjectInventoryHandler(CanDeleteObjectInventory); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckCanCreateUserInventory(CanCreateUserInventory); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckCanCopyUserInventory(CanCopyUserInventory); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckCanEditUserInventory(CanEditUserInventory); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckCanDeleteUserInventory(CanDeleteUserInventory); //NOT YET IMPLEMENTED + m_scene.Permissions.AddCanCreateUserInventoryHandler(CanCreateUserInventory); //NOT YET IMPLEMENTED + m_scene.Permissions.AddCanCopyUserInventoryHandler(CanCopyUserInventory); //NOT YET IMPLEMENTED + m_scene.Permissions.AddCanEditUserInventoryHandler(CanEditUserInventory); //NOT YET IMPLEMENTED + m_scene.Permissions.AddCanDeleteUserInventoryHandler(CanDeleteUserInventory); //NOT YET IMPLEMENTED - m_scene.ExternalChecks.addCheckCanTeleport(CanTeleport); //NOT YET IMPLEMENTED + m_scene.Permissions.AddCanTeleportHandler(CanTeleport); //NOT YET IMPLEMENTED //Register Debug Commands 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 return GenericParcelPermission(user, parcel); } - private bool CanBeGodLike(UUID user, Scene scene) + private bool IsGod(UUID user, Scene scene) { DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); 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 private void client_OnModifyTerrain(UUID user, float height, float seconds, byte size, byte action, float north, float west, float south, float east, UUID agentId) { - bool god = m_scene.ExternalChecks.ExternalChecksCanBeGodLike(user); + bool god = m_scene.Permissions.IsGod(user); bool allowed = false; if (north == south && east == west) { @@ -641,7 +641,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain int y = zy + dy; if (x>=0 && y>=0 && x south) { - if (m_scene.ExternalChecks.ExternalChecksCanTerraformLand(agentId, new Vector3(x,y,0))) + if (m_scene.Permissions.CanTerraformLand(agentId, new Vector3(x,y,0))) { fillArea[x, y] = true; allowed = true; @@ -709,7 +709,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain // Not a good permissions check (see client_OnModifyTerrain above), need to check the entire area. // for now check a point in the centre of the region - if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remoteClient.AgentId, true)) + if (m_scene.Permissions.CanIssueEstateCommand(remoteClient.AgentId, true)) { InterfaceBakeTerrain(null); //bake terrain does not use the passed in parameter } -- cgit v1.1