aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
diff options
context:
space:
mode:
authorMelanie Thielker2008-08-15 13:13:39 +0000
committerMelanie Thielker2008-08-15 13:13:39 +0000
commitdfc553d0a4c25d6c1f491b228e89402c0415acda (patch)
tree63653f47cc17365ec828f2e5507b7fd75c0388be /OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
parentMinor formatting cleanup. (diff)
downloadopensim-SC_OLD-dfc553d0a4c25d6c1f491b228e89402c0415acda.zip
opensim-SC_OLD-dfc553d0a4c25d6c1f491b228e89402c0415acda.tar.gz
opensim-SC_OLD-dfc553d0a4c25d6c1f491b228e89402c0415acda.tar.bz2
opensim-SC_OLD-dfc553d0a4c25d6c1f491b228e89402c0415acda.tar.xz
Fix up master avatar handling for estate owners. Introduces a new
hierarchical rights structure. MasterAvatar: Owner of the region server (may be null), net gods (users with GodLevel 200), Estate owner (from database). Look at Opensim.ini.example to enable net gods. Estate owner will default to master avatar.
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
index d22aac6..1e622be 100644
--- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
@@ -212,6 +212,8 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
212 { 212 {
213 // EstateAccessDelta handles Estate Managers, Sim Access, Sim Banlist, allowed Groups.. etc. 213 // EstateAccessDelta handles Estate Managers, Sim Access, Sim Banlist, allowed Groups.. etc.
214 214
215 if (user == m_scene.RegionInfo.EstateSettings.EstateOwner)
216 return; // never process EO
215 if (user == m_scene.RegionInfo.MasterAvatarAssignedUUID) 217 if (user == m_scene.RegionInfo.MasterAvatarAssignedUUID)
216 return; // never process owner 218 return; // never process owner
217 219
@@ -557,7 +559,10 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
557 559
558 args.regionFlags = GetRegionFlags(); 560 args.regionFlags = GetRegionFlags();
559 args.regionName = m_scene.RegionInfo.RegionName; 561 args.regionName = m_scene.RegionInfo.RegionName;
560 args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID; 562 if (m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero)
563 args.SimOwner = m_scene.RegionInfo.EstateSettings.EstateOwner;
564 else
565 args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID;
561 args.terrainBase0 = LLUUID.Zero; 566 args.terrainBase0 = LLUUID.Zero;
562 args.terrainBase1 = LLUUID.Zero; 567 args.terrainBase1 = LLUUID.Zero;
563 args.terrainBase2 = LLUUID.Zero; 568 args.terrainBase2 = LLUUID.Zero;
@@ -811,6 +816,8 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
811 { 816 {
812 if (avatarID == m_scene.RegionInfo.MasterAvatarAssignedUUID) 817 if (avatarID == m_scene.RegionInfo.MasterAvatarAssignedUUID)
813 return true; 818 return true;
819 if (avatarID == m_scene.RegionInfo.EstateSettings.EstateOwner)
820 return true;
814 821
815 List<LLUUID> ems = new List<LLUUID>(m_scene.RegionInfo.EstateSettings.EstateManagers); 822 List<LLUUID> ems = new List<LLUUID>(m_scene.RegionInfo.EstateSettings.EstateManagers);
816 if (ems.Contains(avatarID)) 823 if (ems.Contains(avatarID))