aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
diff options
context:
space:
mode:
authorMelanie2012-03-22 20:10:38 +0000
committerMelanie2012-03-22 20:10:38 +0000
commit45b588cf008c514f461bf43c168dcdc9902b7bb9 (patch)
tree4400b38f11e37fbab0cad9540f0d03ad05840bac /OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
parentSimple build permissions feature. NOTE: EXPERIMENTAL, DISABLED BY DEFAULT. Tu... (diff)
downloadopensim-SC_OLD-45b588cf008c514f461bf43c168dcdc9902b7bb9.zip
opensim-SC_OLD-45b588cf008c514f461bf43c168dcdc9902b7bb9.tar.gz
opensim-SC_OLD-45b588cf008c514f461bf43c168dcdc9902b7bb9.tar.bz2
opensim-SC_OLD-45b588cf008c514f461bf43c168dcdc9902b7bb9.tar.xz
Revert "Simple build permissions feature. NOTE: EXPERIMENTAL, DISABLED BY DEFAULT. Turns out that this can't be expressed by cascading Permission modules, so I did it as per this patch."
This reverts commit 6146e7ef258b10888ad7464b72b75cca701e02c9.
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs')
-rw-r--r--OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs34
1 files changed, 2 insertions, 32 deletions
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index f536a0f..6018c39 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -94,9 +94,7 @@ 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
100 /// <value> 98 /// <value>
101 /// The set of users that are allowed to create scripts. This is only active if permissions are not being 99 /// The set of users that are allowed to create scripts. This is only active if permissions are not being
102 /// bypassed. This overrides normal permissions. 100 /// bypassed. This overrides normal permissions.
@@ -141,9 +139,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
141 m_RegionOwnerIsGod = myConfig.GetBoolean("region_owner_is_god", true); 139 m_RegionOwnerIsGod = myConfig.GetBoolean("region_owner_is_god", true);
142 m_RegionManagerIsGod = myConfig.GetBoolean("region_manager_is_god", false); 140 m_RegionManagerIsGod = myConfig.GetBoolean("region_manager_is_god", false);
143 m_ParcelOwnerIsGod = myConfig.GetBoolean("parcel_owner_is_god", true); 141 m_ParcelOwnerIsGod = myConfig.GetBoolean("parcel_owner_is_god", true);
144 142
145 m_SimpleBuildPermissions = myConfig.GetBoolean("simple_build_permissions", false);
146
147 m_allowedScriptCreators 143 m_allowedScriptCreators
148 = ParseUserSetConfigSetting(myConfig, "allowed_script_creators", m_allowedScriptCreators); 144 = ParseUserSetConfigSetting(myConfig, "allowed_script_creators", m_allowedScriptCreators);
149 m_allowedScriptEditors 145 m_allowedScriptEditors
@@ -210,9 +206,6 @@ namespace OpenSim.Region.CoreModules.World.Permissions
210 m_scene.Permissions.OnControlPrimMedia += CanControlPrimMedia; 206 m_scene.Permissions.OnControlPrimMedia += CanControlPrimMedia;
211 m_scene.Permissions.OnInteractWithPrimMedia += CanInteractWithPrimMedia; 207 m_scene.Permissions.OnInteractWithPrimMedia += CanInteractWithPrimMedia;
212 208
213 if (m_SimpleBuildPermissions)
214 m_scene.Permissions.OnSendLandProperties += GenerateLandProperties;
215
216 m_scene.AddCommand("Users", this, "bypass permissions", 209 m_scene.AddCommand("Users", this, "bypass permissions",
217 "bypass permissions <true / false>", 210 "bypass permissions <true / false>",
218 "Bypass permission checks", 211 "Bypass permission checks",
@@ -831,10 +824,6 @@ namespace OpenSim.Region.CoreModules.World.Permissions
831 permission = true; 824 permission = true;
832 } 825 }
833 826
834 if (m_SimpleBuildPermissions &&
835 (parcel.LandData.Flags & (uint)ParcelFlags.UseAccessList) == 0 && parcel.IsAllowedInLand(user))
836 permission = true;
837
838 return permission; 827 return permission;
839 } 828 }
840 829
@@ -1977,24 +1966,5 @@ namespace OpenSim.Region.CoreModules.World.Permissions
1977 1966
1978 return false; 1967 return false;
1979 } 1968 }
1980
1981 private void GenerateLandProperties(UUID userID, ILandObject realLand, out ILandObject landToSend)
1982 {
1983 landToSend = realLand;
1984 if (m_bypassPermissions) return;
1985
1986 if (m_SimpleBuildPermissions &&
1987 !m_scene.Permissions.IsAdministrator(userID) &&
1988 !realLand.LandData.OwnerID.Equals(userID) &&
1989 ((realLand.LandData.Flags & (uint)ParcelFlags.UseAccessList) == 0 && realLand.IsAllowedInLand(userID)))
1990 {
1991 ILandObject clone = realLand.MemberwiseCopy();
1992 LandData ldata = realLand.LandData.Copy();
1993 clone.LandData = ldata;
1994 clone.LandData.Flags |= (uint)(ParcelFlags.AllowAPrimitiveEntry | ParcelFlags.AllowFly | ParcelFlags.AllowOtherScripts | ParcelFlags.CreateObjects);
1995 landToSend = clone;
1996 }
1997 }
1998
1999 } 1969 }
2000} 1970}