aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorMelanie Thielker2016-12-23 19:48:03 +0000
committerMelanie Thielker2016-12-23 19:48:03 +0000
commitba1ca67afef3640bd5fd0d1cee678d7bda79c97c (patch)
tree2f90d2a4a3e701e4ea3936dc15684788b2c06960 /OpenSim/Region/ScriptEngine
parent add missing file (diff)
downloadopensim-SC_OLD-ba1ca67afef3640bd5fd0d1cee678d7bda79c97c.zip
opensim-SC_OLD-ba1ca67afef3640bd5fd0d1cee678d7bda79c97c.tar.gz
opensim-SC_OLD-ba1ca67afef3640bd5fd0d1cee678d7bda79c97c.tar.bz2
opensim-SC_OLD-ba1ca67afef3640bd5fd0d1cee678d7bda79c97c.tar.xz
Re-add GRID_GOD because in some cases an "employee-only" level is simply needed
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs13
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 6e66479..ba5a46d 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -310,7 +310,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
310 foreach (string id in ids) 310 foreach (string id in ids)
311 { 311 {
312 string current = id.Trim(); 312 string current = id.Trim();
313 if (current.ToUpper() == "PARCEL_GROUP_MEMBER" || current.ToUpper() == "PARCEL_OWNER" || current.ToUpper() == "ESTATE_MANAGER" || current.ToUpper() == "ESTATE_OWNER" || current.ToUpper() == "GOD") 313 if (current.ToUpper() == "PARCEL_GROUP_MEMBER" || current.ToUpper() == "PARCEL_OWNER" || current.ToUpper() == "ESTATE_MANAGER" || current.ToUpper() == "ESTATE_OWNER" || current.ToUpper() == "GOD" || current.ToUpper() == "GRID_GOD")
314 { 314 {
315 if (!perms.AllowedOwnerClasses.Contains(current)) 315 if (!perms.AllowedOwnerClasses.Contains(current))
316 perms.AllowedOwnerClasses.Add(current.ToUpper()); 316 perms.AllowedOwnerClasses.Add(current.ToUpper());
@@ -418,14 +418,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
418 //Only gods may use the function 418 //Only gods may use the function
419 if (m_FunctionPerms[function].AllowedOwnerClasses.Contains("GOD")) 419 if (m_FunctionPerms[function].AllowedOwnerClasses.Contains("GOD"))
420 { 420 {
421 // this should be replaced by sp.GodLevel > 200 to be effective requested power
422 // but that still needs fix
423 if (World.Permissions.IsGod(ownerID)) 421 if (World.Permissions.IsGod(ownerID))
424 { 422 {
425 return String.Empty; 423 return String.Empty;
426 } 424 }
427 } 425 }
428 426
427 //Only grid gods may use the function
428 if (m_FunctionPerms[function].AllowedOwnerClasses.Contains("GRID_GOD"))
429 {
430 if (World.Permissions.IsGridGod(ownerID))
431 {
432 return String.Empty;
433 }
434 }
435
429 if (!m_FunctionPerms[function].AllowedCreators.Contains(m_item.CreatorID)) 436 if (!m_FunctionPerms[function].AllowedCreators.Contains(m_item.CreatorID))
430 return( 437 return(
431 String.Format("{0} permission denied. Script creator is not in the list of users allowed to execute this function and prim owner also has no permission.", 438 String.Format("{0} permission denied. Script creator is not in the list of users allowed to execute this function and prim owner also has no permission.",