aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-08-27 00:35:33 +0100
committerJustin Clark-Casey (justincc)2013-08-27 00:35:33 +0100
commit2e7f7c41a752f59775dd8353c84725d8f5a6003c (patch)
tree3535e629fa2e1dde84d9d02a6b0262199b71a23b /OpenSim/Region/Framework
parentPotential fix for access control bug on login introduced with SeeIntoRegion c... (diff)
downloadopensim-SC_OLD-2e7f7c41a752f59775dd8353c84725d8f5a6003c.zip
opensim-SC_OLD-2e7f7c41a752f59775dd8353c84725d8f5a6003c.tar.gz
opensim-SC_OLD-2e7f7c41a752f59775dd8353c84725d8f5a6003c.tar.bz2
opensim-SC_OLD-2e7f7c41a752f59775dd8353c84725d8f5a6003c.tar.xz
Also check user authorization if looking to upgrade from a child to a root agent.
Relevant if a child agent has been allowed into the region which should not be upgraded to a root agent.
Diffstat (limited to 'OpenSim/Region/Framework')
-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 9695716..e0c96c6 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3855,6 +3855,19 @@ namespace OpenSim.Region.Framework.Scenes
3855 // Let the SP know how we got here. This has a lot of interesting 3855 // Let the SP know how we got here. This has a lot of interesting
3856 // uses down the line. 3856 // uses down the line.
3857 sp.TeleportFlags = (TPFlags)teleportFlags; 3857 sp.TeleportFlags = (TPFlags)teleportFlags;
3858
3859 // We must carry out a further authorization check if there's an
3860 // attempt to make a child agent into a root agent, since SeeIntoRegion may have allowed a child
3861 // agent to login to a region where a full avatar would not be allowed.
3862 //
3863 // We determine whether this is a CreateAgent for a future non-child agent by inspecting
3864 // TeleportFlags, which will be default for a child connection. This relies on input from the source
3865 // region.
3866 if (sp.TeleportFlags != TPFlags.Default)
3867 {
3868 if (!AuthorizeUser(acd, false, out reason))
3869 return false;
3870 }
3858 3871
3859 if (sp.IsChildAgent) 3872 if (sp.IsChildAgent)
3860 { 3873 {