diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 13 |
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.", |