* Refactor: Break out permissions code into a separate region PermissionsModule

This commit is contained in:
Justin Clarke Casey
2008-05-05 20:14:53 +00:00
parent 60a83574f4
commit 9655cf2807
18 changed files with 219 additions and 124 deletions

View File

@@ -4956,13 +4956,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{
case "getinfo":
if (((Scene)m_scene).PermissionsMngr.GenericEstatePermission(this.AgentId))
if (((Scene)m_scene).Permissions.GenericEstatePermission(this.AgentId))
{
OnDetailedEstateDataRequest(this, messagePacket.MethodData.Invoice);
}
break;
case "setregioninfo":
if (((Scene)m_scene).PermissionsMngr.CanEditEstateTerrain(this.AgentId))
if (((Scene)m_scene).Permissions.CanEditEstateTerrain(this.AgentId))
{
OnSetEstateFlagsRequest(convertParamStringToBool(messagePacket.ParamList[0].Parameter),convertParamStringToBool(messagePacket.ParamList[1].Parameter),
convertParamStringToBool(messagePacket.ParamList[2].Parameter), !convertParamStringToBool(messagePacket.ParamList[3].Parameter),
@@ -4975,7 +4975,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
break;
case "texturebase":
if (((Scene)m_scene).PermissionsMngr.CanEditEstateTerrain(this.AgentId))
if (((Scene)m_scene).Permissions.CanEditEstateTerrain(this.AgentId))
{
foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
{
@@ -4990,7 +4990,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
break;
case "texturedetail":
if (((Scene)m_scene).PermissionsMngr.CanEditEstateTerrain(this.AgentId))
if (((Scene)m_scene).Permissions.CanEditEstateTerrain(this.AgentId))
{
foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
{
@@ -5008,7 +5008,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
break;
case "textureheights":
if (((Scene)m_scene).PermissionsMngr.CanEditEstateTerrain(this.AgentId))
if (((Scene)m_scene).Permissions.CanEditEstateTerrain(this.AgentId))
{
foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
{
@@ -5029,7 +5029,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
OnCommitEstateTerrainTextureRequest(this);
break;
case "setregionterrain":
if (((Scene)m_scene).PermissionsMngr.CanEditEstateTerrain(this.AgentId))
if (((Scene)m_scene).Permissions.CanEditEstateTerrain(this.AgentId))
{
if (messagePacket.ParamList.Length != 9)
{
@@ -5064,7 +5064,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
break;
case "restart":
if (((Scene)m_scene).PermissionsMngr.CanRestartSim(this.AgentId))
if (((Scene)m_scene).Permissions.CanRestartSim(this.AgentId))
{
// There's only 1 block in the estateResetSim.. and that's the number of seconds till restart.
foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
@@ -5078,7 +5078,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
break;
case "estatechangecovenantid":
if (((Scene)m_scene).PermissionsMngr.CanEditEstateTerrain(this.AgentId))
if (((Scene)m_scene).Permissions.CanEditEstateTerrain(this.AgentId))
{
foreach (EstateOwnerMessagePacket.ParamListBlock block in messagePacket.ParamList)
{
@@ -5088,7 +5088,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
break;
case "estateaccessdelta": // Estate access delta manages the banlist and allow list too.
if (((Scene)m_scene).PermissionsMngr.GenericEstatePermission(this.AgentId))
if (((Scene)m_scene).Permissions.GenericEstatePermission(this.AgentId))
{
int estateAccessType = Convert.ToInt16(Helpers.FieldToUTF8String(messagePacket.ParamList[1].Parameter));
OnUpdateEstateAccessDeltaRequest(this, messagePacket.MethodData.Invoice,estateAccessType,new LLUUID(Helpers.FieldToUTF8String(messagePacket.ParamList[2].Parameter)));
@@ -5096,7 +5096,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
break;
case "simulatormessage":
if (((Scene)m_scene).PermissionsMngr.GenericEstatePermission(this.AgentId))
if (((Scene)m_scene).Permissions.GenericEstatePermission(this.AgentId))
{
LLUUID invoice = messagePacket.MethodData.Invoice;
LLUUID SenderID = new LLUUID(Helpers.FieldToUTF8String(messagePacket.ParamList[2].Parameter));
@@ -5107,7 +5107,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
break;
case "instantmessage":
if (((Scene)m_scene).PermissionsMngr.GenericEstatePermission(this.AgentId))
if (((Scene)m_scene).Permissions.GenericEstatePermission(this.AgentId))
{
LLUUID invoice = messagePacket.MethodData.Invoice;
LLUUID SenderID = new LLUUID(Helpers.FieldToUTF8String(messagePacket.ParamList[2].Parameter));
@@ -5118,7 +5118,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
break;
case "setregiondebug":
if (((Scene)m_scene).PermissionsMngr.GenericEstatePermission(this.AgentId))
if (((Scene)m_scene).Permissions.GenericEstatePermission(this.AgentId))
{
LLUUID invoice = messagePacket.MethodData.Invoice;
LLUUID SenderID = messagePacket.AgentData.AgentID;
@@ -5130,7 +5130,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
break;
case "teleporthomeuser":
if (((Scene)m_scene).PermissionsMngr.GenericEstatePermission(this.AgentId))
if (((Scene)m_scene).Permissions.GenericEstatePermission(this.AgentId))
{
LLUUID invoice = messagePacket.MethodData.Invoice;
LLUUID SenderID = messagePacket.AgentData.AgentID;

View File

@@ -107,12 +107,12 @@ namespace OpenSim.Region.ClientStack
return physicsPluginManager.GetPhysicsScene(engine, meshEngine);
}
protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer clientServer, bool m_permissions)
protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer clientServer)
{
return SetupScene(regionInfo, 0, out clientServer, m_permissions);
return SetupScene(regionInfo, 0, out clientServer);
}
protected Scene SetupScene(RegionInfo regionInfo, int proxyOffset, out IClientNetworkServer clientServer, bool m_permissions)
protected Scene SetupScene(RegionInfo regionInfo, int proxyOffset, out IClientNetworkServer clientServer)
{
AgentCircuitManager circuitManager = new AgentCircuitManager();
IPAddress listenIP = regionInfo.InternalEndPoint.Address;
@@ -162,8 +162,9 @@ namespace OpenSim.Region.ClientStack
scene.RegionInfo.MasterAvatarAssignedUUID = LLUUID.Zero;
}
scene.LoadPrimsFromStorage(m_permissions, regionInfo.originRegionID);
scene.LoadPrimsFromStorage(regionInfo.originRegionID);
scene.StartTimer();
return scene;
}