diff options
author | Teravus Ovares | 2008-05-14 23:25:07 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-05-14 23:25:07 +0000 |
commit | a4efa939932f823af2affe0e97446a8d807004e0 (patch) | |
tree | 58f8b1341aa2a14178bf707841cd368d5394429f /OpenSim/Region/Environment/Modules/World | |
parent | * Refactored IConfigSource into Physics plug-ins and Scene. We can get rid of... (diff) | |
download | opensim-SC-a4efa939932f823af2affe0e97446a8d807004e0.zip opensim-SC-a4efa939932f823af2affe0e97446a8d807004e0.tar.gz opensim-SC-a4efa939932f823af2affe0e97446a8d807004e0.tar.bz2 opensim-SC-a4efa939932f823af2affe0e97446a8d807004e0.tar.xz |
* Comitting 0001271: [PATCH] Refactor permissions to fully allow stacking permissions modules. From Melanie. Thanks Melanie!
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs | 29 |
2 files changed, 16 insertions, 19 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs index 098175b..fcdec5d 100644 --- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs | |||
@@ -205,7 +205,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
205 | 205 | ||
206 | // This needs to be updated for SuperEstateOwnerUser.. a non existing user in the estatesettings.xml | 206 | // This needs to be updated for SuperEstateOwnerUser.. a non existing user in the estatesettings.xml |
207 | // So make sure you really trust your region owners. because they can add other estate manaagers to your other estates | 207 | // So make sure you really trust your region owners. because they can add other estate manaagers to your other estates |
208 | if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.Permissions.BypassPermissions) | 208 | if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) |
209 | { | 209 | { |
210 | m_scene.RegionInfo.EstateSettings.AddEstateManager(user); | 210 | m_scene.RegionInfo.EstateSettings.AddEstateManager(user); |
211 | remote_client.sendEstateManagersList(invoice, m_scene.RegionInfo.EstateSettings.estateManagers, m_scene.RegionInfo.EstateSettings.estateID); | 211 | remote_client.sendEstateManagersList(invoice, m_scene.RegionInfo.EstateSettings.estateManagers, m_scene.RegionInfo.EstateSettings.estateID); |
@@ -219,7 +219,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
219 | case 512: | 219 | case 512: |
220 | // This needs to be updated for SuperEstateOwnerUser.. a non existing user in the estatesettings.xml | 220 | // This needs to be updated for SuperEstateOwnerUser.. a non existing user in the estatesettings.xml |
221 | // So make sure you really trust your region owners. because they can add other estate manaagers to your other estates | 221 | // So make sure you really trust your region owners. because they can add other estate manaagers to your other estates |
222 | if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.Permissions.BypassPermissions) | 222 | if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) |
223 | { | 223 | { |
224 | m_scene.RegionInfo.EstateSettings.RemoveEstateManager(user); | 224 | m_scene.RegionInfo.EstateSettings.RemoveEstateManager(user); |
225 | remote_client.sendEstateManagersList(invoice, m_scene.RegionInfo.EstateSettings.estateManagers, m_scene.RegionInfo.EstateSettings.estateID); | 225 | remote_client.sendEstateManagersList(invoice, m_scene.RegionInfo.EstateSettings.estateManagers, m_scene.RegionInfo.EstateSettings.estateID); |
@@ -438,4 +438,4 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
438 | sendRegionHandshake(client); | 438 | sendRegionHandshake(client); |
439 | } | 439 | } |
440 | } | 440 | } |
441 | } \ No newline at end of file | 441 | } |
diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs index bd21ca7..76f21f7 100644 --- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs | |||
@@ -63,23 +63,7 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
63 | private bool m_bypassPermissions = false; | 63 | private bool m_bypassPermissions = false; |
64 | private bool m_bypassPermissionsValue = true; | 64 | private bool m_bypassPermissionsValue = true; |
65 | private bool m_debugPermissions = false; | 65 | private bool m_debugPermissions = false; |
66 | public bool BypassPermissions | ||
67 | { | ||
68 | get { return m_bypassPermissions; } | ||
69 | set { m_bypassPermissions = value; } | ||
70 | } | ||
71 | |||
72 | public bool BypassPermissionsValue | ||
73 | { | ||
74 | get { return m_bypassPermissionsValue; } | ||
75 | set { m_bypassPermissionsValue = value; } | ||
76 | } | ||
77 | 66 | ||
78 | public bool DebugPermissions | ||
79 | { | ||
80 | get { return m_debugPermissions; } | ||
81 | set { m_debugPermissions = value; } | ||
82 | } | ||
83 | #endregion | 67 | #endregion |
84 | 68 | ||
85 | #region ICommandableModule Members | 69 | #region ICommandableModule Members |
@@ -157,7 +141,10 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
157 | m_scene.RegisterModuleInterface<IScenePermissions>(this); | 141 | m_scene.RegisterModuleInterface<IScenePermissions>(this); |
158 | 142 | ||
159 | //Register functions with Scene External Checks! | 143 | //Register functions with Scene External Checks! |
144 | m_scene.ExternalChecks.addBypassPermissions(BypassPermissions); //FULLY IMPLEMENTED | ||
145 | m_scene.ExternalChecks.addSetBypassPermissions(SetBypassPermissions); //FULLY IMPLEMENTED | ||
160 | m_scene.ExternalChecks.addCheckAbandonParcel(CanAbandonParcel); //FULLY IMPLEMENTED | 146 | m_scene.ExternalChecks.addCheckAbandonParcel(CanAbandonParcel); //FULLY IMPLEMENTED |
147 | m_scene.ExternalChecks.addGenerateClientFlags(GenerateClientFlags); //NOT YET FULLY IMPLEMENTED | ||
161 | m_scene.ExternalChecks.addCheckBeGodLike(CanBeGodLike); //FULLY IMPLEMENTED | 148 | m_scene.ExternalChecks.addCheckBeGodLike(CanBeGodLike); //FULLY IMPLEMENTED |
162 | m_scene.ExternalChecks.addCheckDuplicateObject(CanDuplicateObject); //FULLY IMPLEMENTED | 149 | m_scene.ExternalChecks.addCheckDuplicateObject(CanDuplicateObject); //FULLY IMPLEMENTED |
163 | m_scene.ExternalChecks.addCheckDeleteObject(CanDeleteObject); //MAYBE FULLY IMPLEMENTED | 150 | m_scene.ExternalChecks.addCheckDeleteObject(CanDeleteObject); //MAYBE FULLY IMPLEMENTED |
@@ -260,6 +247,16 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
260 | } | 247 | } |
261 | #endregion | 248 | #endregion |
262 | 249 | ||
250 | public bool BypassPermissions() | ||
251 | { | ||
252 | return m_bypassPermissions; | ||
253 | } | ||
254 | |||
255 | public void SetBypassPermissions(bool value) | ||
256 | { | ||
257 | m_bypassPermissions=value; | ||
258 | } | ||
259 | |||
263 | #region Object Permissions | 260 | #region Object Permissions |
264 | 261 | ||
265 | public uint GenerateClientFlags(LLUUID user, LLUUID objID) | 262 | public uint GenerateClientFlags(LLUUID user, LLUUID objID) |