diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rwxr-xr-x | OpenSim/Region/Framework/Scenes/Scene.cs | 53 |
1 files changed, 20 insertions, 33 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index a8d2f84..ed98046 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3111,12 +3111,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3111 | 3111 | ||
3112 | m_LastLogin = Util.EnvironmentTickCount(); | 3112 | m_LastLogin = Util.EnvironmentTickCount(); |
3113 | 3113 | ||
3114 | //HACK only send object animations to fs beta for now | ||
3115 | string viewername = Util.GetViewerName(aCircuit); | ||
3116 | if(sp != null && viewername.StartsWith("Firestorm-Betax64 6")) | ||
3117 | { | ||
3118 | sp.ControllingClient.DoObjectAnimations = true; | ||
3119 | } | ||
3120 | return sp; | 3114 | return sp; |
3121 | } | 3115 | } |
3122 | 3116 | ||
@@ -3207,36 +3201,29 @@ namespace OpenSim.Region.Framework.Scenes | |||
3207 | public override bool CheckClient(UUID agentID, System.Net.IPEndPoint ep) | 3201 | public override bool CheckClient(UUID agentID, System.Net.IPEndPoint ep) |
3208 | { | 3202 | { |
3209 | AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(agentID); | 3203 | AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(agentID); |
3210 | if (aCircuit != null) | 3204 | if (aCircuit == null) |
3211 | { | 3205 | return false; |
3212 | bool vialogin = false; | ||
3213 | if (!VerifyClient(aCircuit, ep, out vialogin)) | ||
3214 | { | ||
3215 | // if it doesn't pass, we remove the agentcircuitdata altogether | ||
3216 | // and the scene presence and the client, if they exist | ||
3217 | try | ||
3218 | { | ||
3219 | ScenePresence sp = WaitGetScenePresence(agentID); | ||
3220 | |||
3221 | if (sp != null) | ||
3222 | { | ||
3223 | PresenceService.LogoutAgent(sp.ControllingClient.SessionId); | ||
3224 | |||
3225 | CloseAgent(sp.UUID, false); | ||
3226 | } | ||
3227 | 3206 | ||
3228 | // BANG! SLASH! | 3207 | bool vialogin = false; |
3229 | m_authenticateHandler.RemoveCircuit(agentID); | 3208 | if (VerifyClient(aCircuit, ep, out vialogin)) |
3209 | return true; | ||
3230 | 3210 | ||
3231 | return false; | 3211 | // if it doesn't pass, we remove the agentcircuitdata altogether |
3232 | } | 3212 | // and the scene presence and the client, if they exist |
3233 | catch (Exception e) | 3213 | try |
3234 | { | 3214 | { |
3235 | m_log.DebugFormat("[SCENE]: Exception while closing aborted client: {0}", e.StackTrace); | 3215 | ScenePresence sp = WaitGetScenePresence(agentID); |
3236 | } | 3216 | if (sp != null) |
3217 | { | ||
3218 | PresenceService.LogoutAgent(sp.ControllingClient.SessionId); | ||
3219 | CloseAgent(sp.UUID, false); | ||
3237 | } | 3220 | } |
3238 | else | 3221 | // BANG! SLASH! |
3239 | return true; | 3222 | m_authenticateHandler.RemoveCircuit(agentID); |
3223 | } | ||
3224 | catch (Exception e) | ||
3225 | { | ||
3226 | m_log.DebugFormat("[SCENE]: Exception while closing aborted client: {0}", e.StackTrace); | ||
3240 | } | 3227 | } |
3241 | 3228 | ||
3242 | return false; | 3229 | return false; |