diff options
author | Melanie | 2012-03-22 20:38:49 +0000 |
---|---|---|
committer | Melanie | 2012-03-22 20:38:49 +0000 |
commit | 33818994810130117bae62ba2123bf8b55f181ea (patch) | |
tree | eeb54ef00919abbd1a86b08a659570512856ac42 /OpenSim/Region/CoreModules/World | |
parent | Revert "Stop messing order of updates, destroing the defined order of the sel... (diff) | |
parent | Rework Diva's patch to simplify it (diff) | |
download | opensim-SC-33818994810130117bae62ba2123bf8b55f181ea.zip opensim-SC-33818994810130117bae62ba2123bf8b55f181ea.tar.gz opensim-SC-33818994810130117bae62ba2123bf8b55f181ea.tar.bz2 opensim-SC-33818994810130117bae62ba2123bf8b55f181ea.tar.xz |
Merge branch 'master' into careminster
Conflicts:
OpenSim/Region/CoreModules/World/Land/LandObject.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
Diffstat (limited to 'OpenSim/Region/CoreModules/World')
3 files changed, 38 insertions, 20 deletions
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 8b13b01..1e743c3 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |||
@@ -691,7 +691,13 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
691 | Scene.RegionInfo.RegionSettings.Save(); | 691 | Scene.RegionInfo.RegionSettings.Save(); |
692 | TriggerRegionInfoChange(); | 692 | TriggerRegionInfoChange(); |
693 | 693 | ||
694 | Scene.SetSceneCoreDebug(disableScripts, disableCollisions, disablePhysics); | 694 | Scene.SetSceneCoreDebug( |
695 | new Dictionary<string, string>() { | ||
696 | { "scripting", (!disableScripts).ToString() }, | ||
697 | { "collisions", (!disableCollisions).ToString() }, | ||
698 | { "physics", (!disablePhysics).ToString() } | ||
699 | } | ||
700 | ); | ||
695 | } | 701 | } |
696 | 702 | ||
697 | private void handleEstateTeleportOneUserHomeRequest(IClientAPI remover_client, UUID invoice, UUID senderID, UUID prey) | 703 | private void handleEstateTeleportOneUserHomeRequest(IClientAPI remover_client, UUID invoice, UUID senderID, UUID prey) |
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index 02a163f..e86887d 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs | |||
@@ -497,7 +497,8 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
497 | 497 | ||
498 | public bool IsRestrictedFromLand(UUID avatar) | 498 | public bool IsRestrictedFromLand(UUID avatar) |
499 | { | 499 | { |
500 | ExpireAccessList(); | 500 | if ((LandData.Flags & (uint) ParcelFlags.UseAccessList) == 0) |
501 | return false; | ||
501 | 502 | ||
502 | if (m_scene.Permissions.IsAdministrator(avatar)) | 503 | if (m_scene.Permissions.IsAdministrator(avatar)) |
503 | return false; | 504 | return false; |
@@ -508,24 +509,27 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
508 | if (avatar == LandData.OwnerID) | 509 | if (avatar == LandData.OwnerID) |
509 | return false; | 510 | return false; |
510 | 511 | ||
511 | if ((LandData.Flags & (uint) ParcelFlags.UseAccessList) > 0) | 512 | if (HasGroupAccess(avatar)) |
512 | { | 513 | return false; |
513 | if (LandData.ParcelAccessList.FindIndex( | 514 | |
514 | delegate(LandAccessEntry e) | 515 | return (!IsInLandAccessList(avatar)); |
515 | { | 516 | } |
516 | if (e.AgentID == avatar && e.Flags == AccessList.Access) | 517 | |
517 | return true; | 518 | public bool IsInLandAccessList(UUID avatar) |
518 | return false; | 519 | { |
519 | }) == -1) | 520 | ExpireAccessList(); |
520 | { | 521 | |
521 | if (!HasGroupAccess(avatar)) | 522 | if (LandData.ParcelAccessList.FindIndex( |
523 | delegate(LandAccessEntry e) | ||
522 | { | 524 | { |
523 | return true; | 525 | if (e.AgentID == avatar && e.Flags == AccessList.Access) |
524 | } | 526 | return true; |
525 | } | 527 | return false; |
528 | }) == -1) | ||
529 | { | ||
530 | return false; | ||
526 | } | 531 | } |
527 | 532 | return true; | |
528 | return false; | ||
529 | } | 533 | } |
530 | 534 | ||
531 | public void SendLandUpdateToClient(IClientAPI remote_client) | 535 | public void SendLandUpdateToClient(IClientAPI remote_client) |
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index e4ecc64..4a654a3 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs | |||
@@ -94,7 +94,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
94 | private bool m_RegionOwnerIsGod = false; | 94 | private bool m_RegionOwnerIsGod = false; |
95 | private bool m_RegionManagerIsGod = false; | 95 | private bool m_RegionManagerIsGod = false; |
96 | private bool m_ParcelOwnerIsGod = false; | 96 | private bool m_ParcelOwnerIsGod = false; |
97 | 97 | ||
98 | private bool m_SimpleBuildPermissions = false; | ||
99 | |||
98 | /// <value> | 100 | /// <value> |
99 | /// The set of users that are allowed to create scripts. This is only active if permissions are not being | 101 | /// The set of users that are allowed to create scripts. This is only active if permissions are not being |
100 | /// bypassed. This overrides normal permissions. | 102 | /// bypassed. This overrides normal permissions. |
@@ -139,7 +141,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
139 | m_RegionOwnerIsGod = myConfig.GetBoolean("region_owner_is_god", true); | 141 | m_RegionOwnerIsGod = myConfig.GetBoolean("region_owner_is_god", true); |
140 | m_RegionManagerIsGod = myConfig.GetBoolean("region_manager_is_god", false); | 142 | m_RegionManagerIsGod = myConfig.GetBoolean("region_manager_is_god", false); |
141 | m_ParcelOwnerIsGod = myConfig.GetBoolean("parcel_owner_is_god", true); | 143 | m_ParcelOwnerIsGod = myConfig.GetBoolean("parcel_owner_is_god", true); |
142 | 144 | ||
145 | m_SimpleBuildPermissions = myConfig.GetBoolean("simple_build_permissions", false); | ||
146 | |||
143 | m_allowedScriptCreators | 147 | m_allowedScriptCreators |
144 | = ParseUserSetConfigSetting(myConfig, "allowed_script_creators", m_allowedScriptCreators); | 148 | = ParseUserSetConfigSetting(myConfig, "allowed_script_creators", m_allowedScriptCreators); |
145 | m_allowedScriptEditors | 149 | m_allowedScriptEditors |
@@ -824,6 +828,10 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
824 | permission = true; | 828 | permission = true; |
825 | } | 829 | } |
826 | 830 | ||
831 | if (m_SimpleBuildPermissions && | ||
832 | (parcel.LandData.Flags & (uint)ParcelFlags.UseAccessList) == 0 && parcel.IsInLandAccessList(user)) | ||
833 | permission = true; | ||
834 | |||
827 | return permission; | 835 | return permission; |
828 | } | 836 | } |
829 | 837 | ||