* Permissions! - You can now only perform certain functions (such as editing other peoples objects) if you have permission to do so.

* Moved OnPermissionError to EventManager - now triggers a standard blue alert.
* Terraforming now requires permission via the permissions manager. [Defaults to admin-only]
* Permissions manager is now substantiated in Scene
* Buttload of new permissions added.
* Estate manager operations now require various levels of permission to operate
* OGS1 now produces 'summary reports' for a commsManager of each scene it maintains connections for. Reduces grid network traffic for ping checks.
* Added new "permissions true" / "permissions false" console command to enable or disable permissions.
This commit is contained in:
Adam Frisby
2007-08-15 14:10:26 +00:00
parent a4fc02d790
commit 5699bb2e64
7 changed files with 208 additions and 47 deletions

View File

@@ -147,35 +147,37 @@ namespace OpenSim.Region.Environment
public void handleEstateOwnerMessage(EstateOwnerMessagePacket packet, IClientAPI remote_client)
{
if (remote_client.AgentId == m_regInfo.MasterAvatarAssignedUUID)
switch (Helpers.FieldToUTF8String(packet.MethodData.Method))
{
switch (Helpers.FieldToUTF8String(packet.MethodData.Method))
{
case "getinfo":
this.sendRegionInfoPacketToAll();
break;
case "setregioninfo":
case "getinfo":
this.sendRegionInfoPacketToAll();
break;
case "setregioninfo":
if (m_scene.PermissionsMngr.CanEditEstateTerrain(remote_client.AgentId))
estateSetRegionInfoHandler(packet);
break;
case "texturebase":
break;
case "texturebase":
if (m_scene.PermissionsMngr.CanEditEstateTerrain(remote_client.AgentId))
estateTextureBaseHandler(packet);
break;
case "texturedetail":
break;
case "texturedetail":
if (m_scene.PermissionsMngr.CanEditEstateTerrain(remote_client.AgentId))
estateTextureDetailHandler(packet);
break;
case "textureheights":
break;
case "textureheights":
if (m_scene.PermissionsMngr.CanEditEstateTerrain(remote_client.AgentId))
estateTextureHeightsHandler(packet);
break;
case "texturecommit":
sendRegionHandshakeToAll();
break;
case "setregionterrain":
break;
case "texturecommit":
sendRegionHandshakeToAll();
break;
case "setregionterrain":
if (m_scene.PermissionsMngr.CanEditEstateTerrain(remote_client.AgentId))
estateSetRegionTerrainHandler(packet);
break;
default:
MainLog.Instance.Error("EstateOwnerMessage: Unknown method requested\n" + packet.ToString());
break;
}
break;
default:
MainLog.Instance.Error("EstateOwnerMessage: Unknown method requested\n" + packet.ToString());
break;
}
}