diff options
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs | 8 |
2 files changed, 11 insertions, 9 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs index 1be587a..d22aac6 100644 --- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs | |||
@@ -218,7 +218,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
218 | switch (estateAccessType) | 218 | switch (estateAccessType) |
219 | { | 219 | { |
220 | case 64: | 220 | case 64: |
221 | if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) | 221 | if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, false) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) |
222 | { | 222 | { |
223 | EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans; | 223 | EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans; |
224 | 224 | ||
@@ -267,7 +267,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
267 | } | 267 | } |
268 | break; | 268 | break; |
269 | case 128: | 269 | case 128: |
270 | if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) | 270 | if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, false) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) |
271 | { | 271 | { |
272 | EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans; | 272 | EstateBan[] banlistcheck = m_scene.RegionInfo.EstateSettings.EstateBans; |
273 | 273 | ||
@@ -303,9 +303,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
303 | break; | 303 | break; |
304 | case 256: | 304 | case 256: |
305 | 305 | ||
306 | // This needs to be updated for SuperEstateOwnerUser.. a non existing user in the estatesettings.xml | 306 | if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, true) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) |
307 | // So make sure you really trust your region owners. because they can add other estate manaagers to your other estates | ||
308 | if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) | ||
309 | { | 307 | { |
310 | m_scene.RegionInfo.EstateSettings.AddEstateManager(user); | 308 | m_scene.RegionInfo.EstateSettings.AddEstateManager(user); |
311 | m_scene.RegionInfo.EstateSettings.Save(); | 309 | m_scene.RegionInfo.EstateSettings.Save(); |
@@ -318,9 +316,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
318 | 316 | ||
319 | break; | 317 | break; |
320 | case 512: | 318 | case 512: |
321 | // This needs to be updated for SuperEstateOwnerUser.. a non existing user in the estatesettings.xml | 319 | if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId, true) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) |
322 | // So make sure you really trust your region owners. because they can add other estate manaagers to your other estates | ||
323 | if (remote_client.AgentId == m_scene.RegionInfo.MasterAvatarAssignedUUID || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) | ||
324 | { | 320 | { |
325 | m_scene.RegionInfo.EstateSettings.RemoveEstateManager(user); | 321 | m_scene.RegionInfo.EstateSettings.RemoveEstateManager(user); |
326 | m_scene.RegionInfo.EstateSettings.Save(); | 322 | m_scene.RegionInfo.EstateSettings.Save(); |
diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs index 0dfcb44..25ea282 100644 --- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs | |||
@@ -626,11 +626,17 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions | |||
626 | return GenericCommunicationPermission(user, target); | 626 | return GenericCommunicationPermission(user, target); |
627 | } | 627 | } |
628 | 628 | ||
629 | private bool CanIssueEstateCommand(LLUUID user, Scene requestFromScene) | 629 | private bool CanIssueEstateCommand(LLUUID user, Scene requestFromScene, bool ownerCommand) |
630 | { | 630 | { |
631 | DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); | 631 | DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); |
632 | if (m_bypassPermissions) return m_bypassPermissionsValue; | 632 | if (m_bypassPermissions) return m_bypassPermissionsValue; |
633 | 633 | ||
634 | if (m_scene.RegionInfo.EstateSettings.IsEstateOwner(user)) | ||
635 | return true; | ||
636 | |||
637 | if (ownerCommand) | ||
638 | return false; | ||
639 | |||
634 | return GenericEstatePermission(user); | 640 | return GenericEstatePermission(user); |
635 | } | 641 | } |
636 | 642 | ||