aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 09eb0e6..a837fba 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -2776,6 +2776,7 @@ namespace OpenSim.Region.Environment.Scenes
2776 m_log.DebugFormat("[CONNECTION DEBUGGING]: Updated agent {0} in {1}", agent.AgentID, RegionInfo.RegionName); 2776 m_log.DebugFormat("[CONNECTION DEBUGGING]: Updated agent {0} in {1}", agent.AgentID, RegionInfo.RegionName);
2777 sp.AdjustKnownSeeds(); 2777 sp.AdjustKnownSeeds();
2778 sp.AbsolutePosition = agent.startpos; 2778 sp.AbsolutePosition = agent.startpos;
2779 m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent);
2779 return; 2780 return;
2780 } 2781 }
2781 2782
@@ -2829,7 +2830,13 @@ namespace OpenSim.Region.Environment.Scenes
2829 loggingOffUser = GetScenePresence(AvatarID); 2830 loggingOffUser = GetScenePresence(AvatarID);
2830 if (loggingOffUser != null) 2831 if (loggingOffUser != null)
2831 { 2832 {
2832 if (RegionSecret == loggingOffUser.ControllingClient.SecureSessionId) 2833 UUID localRegionSecret = UUID.Zero;
2834 bool parsedsecret = UUID.TryParse(m_regInfo.regionSecret, out localRegionSecret);
2835
2836 // Region Secret is used here in case a new sessionid overwrites an old one on the user server.
2837 // Will update the user server in a few revisions to use it.
2838
2839 if (RegionSecret == loggingOffUser.ControllingClient.SecureSessionId || (parsedsecret && RegionSecret == localRegionSecret))
2833 { 2840 {
2834 m_sceneGridService.SendCloseChildAgentConnections(loggingOffUser.UUID, new List<ulong>(loggingOffUser.KnownRegions.Keys)); 2841 m_sceneGridService.SendCloseChildAgentConnections(loggingOffUser.UUID, new List<ulong>(loggingOffUser.KnownRegions.Keys));
2835 loggingOffUser.ControllingClient.Kick(message); 2842 loggingOffUser.ControllingClient.Kick(message);
@@ -2869,7 +2876,7 @@ namespace OpenSim.Region.Environment.Scenes
2869 if (m_capsHandlers.TryGetValue(agentId, out cap)) 2876 if (m_capsHandlers.TryGetValue(agentId, out cap))
2870 { 2877 {
2871 m_log.DebugFormat("[CAPS] Attempt at registering twice for the same agent {0}. {1}. Ignoring.", agentId, capsObjectPath); 2878 m_log.DebugFormat("[CAPS] Attempt at registering twice for the same agent {0}. {1}. Ignoring.", agentId, capsObjectPath);
2872 return; 2879 //return;
2873 } 2880 }
2874 2881
2875 cap 2882 cap