Refactor: Scene.ExternalChecks -> Scene.Permissions. Also make all

the internals of the permissions module adapter sane
This commit is contained in:
Melanie Thielker
2008-11-21 22:14:57 +00:00
parent c0cd681608
commit ba723a4cf6
21 changed files with 436 additions and 436 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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<UUID> returnIDs, IClientAPI remote_client)
{
if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId, this))
if (m_scene.Permissions.CanEditParcel(remote_client.AgentId, this))
{
List<uint> resultLocalIDs = new List<uint>();
try
@@ -697,7 +697,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
/// </param>
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<UUID, int> primCount = new Dictionary<UUID, int>();

View File

@@ -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;

View File

@@ -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<m_channel.Width && y<m_channel.Height)
{
if (m_scene.ExternalChecks.ExternalChecksCanTerraformLand(agentId, new Vector3(x,y,0)))
if (m_scene.Permissions.CanTerraformLand(agentId, new Vector3(x,y,0)))
{
allowMask[x, y] = true;
allowed = true;
@@ -679,7 +679,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain
{
if (y < north && y > 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
}