aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
diff options
context:
space:
mode:
authorCharles Krinke2008-10-06 00:46:27 +0000
committerCharles Krinke2008-10-06 00:46:27 +0000
commit4f6cdc08d65cbdd60591d08d71c1c7648a3032cd (patch)
treec124af14da43a3b6f15d8a96d8ed151cbfca05b5 /OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
parentPatch by Fly-Man, with modifications. Add more fields to DataSnapshot. (diff)
downloadopensim-SC_OLD-4f6cdc08d65cbdd60591d08d71c1c7648a3032cd.zip
opensim-SC_OLD-4f6cdc08d65cbdd60591d08d71c1c7648a3032cd.tar.gz
opensim-SC_OLD-4f6cdc08d65cbdd60591d08d71c1c7648a3032cd.tar.bz2
opensim-SC_OLD-4f6cdc08d65cbdd60591d08d71c1c7648a3032cd.tar.xz
Mantis#1207. Thank you, TGlion for a patch that addresses:
Implementation of llModifyLand() and There is a bug on permission-check of land-terraforming: x an y-coordinates are interchanged on function-call ExternalChecksCanTerraformLand. Correct: x is west, and y is north. 2) Missing check of "Other allow to terraform-flag" (Parcel.ParcelFlags.AllowTerraform)
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs18
1 files changed, 11 insertions, 7 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
index 16743ea..abbf40e 100644
--- a/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Permissions/PermissionsModule.cs
@@ -984,11 +984,9 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions
984 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name); 984 DebugPermissionInformation(MethodInfo.GetCurrentMethod().Name);
985 if (m_bypassPermissions) return m_bypassPermissionsValue; 985 if (m_bypassPermissions) return m_bypassPermissionsValue;
986 986
987 bool permission = false;
988
989 // Estate override 987 // Estate override
990 if (GenericEstatePermission(user)) 988 if (GenericEstatePermission(user))
991 permission = true; 989 return true;
992 990
993 float X = position.X; 991 float X = position.X;
994 float Y = position.Y; 992 float Y = position.Y;
@@ -1002,13 +1000,19 @@ namespace OpenSim.Region.Environment.Modules.World.Permissions
1002 if (Y < 0) 1000 if (Y < 0)
1003 Y = 0; 1001 Y = 0;
1004 1002
1005 // Land owner can terraform too
1006 ILandObject parcel = m_scene.LandChannel.GetLandObject(X, Y); 1003 ILandObject parcel = m_scene.LandChannel.GetLandObject(X, Y);
1007 if (parcel != null && GenericParcelPermission(user, parcel)) 1004 if (parcel == null)
1008 permission = true; 1005 return false;
1009 1006
1007 // Others allowed to terraform?
1008 if ((parcel.landData.Flags & ((int)Parcel.ParcelFlags.AllowTerraform)) != 0)
1009 return true;
1010 1010
1011 return permission; 1011 // Land owner can terraform too
1012 if (parcel != null && GenericParcelPermission(user, parcel))
1013 return true;
1014
1015 return false;
1012 } 1016 }
1013 1017
1014 private bool CanViewScript(UUID script, UUID objectID, UUID user, Scene scene) 1018 private bool CanViewScript(UUID script, UUID objectID, UUID user, Scene scene)