diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 11 |
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 |