ignore teleport flag GodLike. Perform checks acording to agent static

local or grid rights
melanie
UbitUmarov 2017-01-07 19:42:58 +00:00
parent 1b858ad47b
commit c41616b771
1 changed files with 7 additions and 5 deletions

View File

@ -3951,7 +3951,7 @@ namespace OpenSim.Region.Framework.Scenes
bool vialogin = ((teleportFlags & (uint)TPFlags.ViaLogin) != 0 || bool vialogin = ((teleportFlags & (uint)TPFlags.ViaLogin) != 0 ||
(teleportFlags & (uint)TPFlags.ViaHGLogin) != 0); (teleportFlags & (uint)TPFlags.ViaHGLogin) != 0);
bool viahome = ((teleportFlags & (uint)TPFlags.ViaHome) != 0); bool viahome = ((teleportFlags & (uint)TPFlags.ViaHome) != 0);
bool godlike = ((teleportFlags & (uint)TPFlags.Godlike) != 0); // bool godlike = ((teleportFlags & (uint)TPFlags.Godlike) != 0);
reason = String.Empty; reason = String.Empty;
@ -4251,7 +4251,8 @@ namespace OpenSim.Region.Framework.Scenes
} }
// only check access, actual relocations will happen later on ScenePresence MakeRoot // only check access, actual relocations will happen later on ScenePresence MakeRoot
// allow child agents creation // allow child agents creation
if(!godlike && teleportFlags != (uint) TPFlags.Default) // if(!godlike && teleportFlags != (uint) TPFlags.Default)
if(teleportFlags != (uint) TPFlags.Default)
{ {
bool checkTeleHub; bool checkTeleHub;
@ -6188,9 +6189,10 @@ Environment.Exit(1);
if (Permissions.IsGod(agentID)) if (Permissions.IsGod(agentID))
return true; return true;
bool isAdmin = Permissions.IsAdministrator(agentID); // Permissions.IsAdministrator is the same as IsGod for now
if(isAdmin) // bool isAdmin = Permissions.IsAdministrator(agentID);
return true; // if(isAdmin)
// return true;
// also honor estate managers access rights // also honor estate managers access rights
bool isManager = Permissions.IsEstateManager(agentID); bool isManager = Permissions.IsEstateManager(agentID);