aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World
diff options
context:
space:
mode:
authorMelanie2012-03-22 20:38:49 +0000
committerMelanie2012-03-22 20:38:49 +0000
commit33818994810130117bae62ba2123bf8b55f181ea (patch)
treeeeb54ef00919abbd1a86b08a659570512856ac42 /OpenSim/Region/CoreModules/World
parentRevert "Stop messing order of updates, destroing the defined order of the sel... (diff)
parentRework Diva's patch to simplify it (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs8
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandObject.cs38
-rw-r--r--OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs12
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