aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs13
1 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 8754024..3eaa8fd 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3860,6 +3860,19 @@ namespace OpenSim.Region.Framework.Scenes
3860 // Let the SP know how we got here. This has a lot of interesting 3860 // Let the SP know how we got here. This has a lot of interesting
3861 // uses down the line. 3861 // uses down the line.
3862 sp.TeleportFlags = (TPFlags)teleportFlags; 3862 sp.TeleportFlags = (TPFlags)teleportFlags;
3863
3864 // We must carry out a further authorization check if there's an
3865 // attempt to make a child agent into a root agent, since SeeIntoRegion may have allowed a child
3866 // agent to login to a region where a full avatar would not be allowed.
3867 //
3868 // We determine whether this is a CreateAgent for a future non-child agent by inspecting
3869 // TeleportFlags, which will be default for a child connection. This relies on input from the source
3870 // region.
3871 if (sp.TeleportFlags != TPFlags.Default)
3872 {
3873 if (!AuthorizeUser(acd, false, out reason))
3874 return false;
3875 }
3863 3876
3864 if (sp.IsChildAgent) 3877 if (sp.IsChildAgent)
3865 { 3878 {