diff options
author | UbitUmarov | 2019-01-01 12:06:29 +0000 |
---|---|---|
committer | UbitUmarov | 2019-01-01 12:06:29 +0000 |
commit | 02492f7b15f29419c1ea4725a6ae6959bc199912 (patch) | |
tree | 2967fed8eba4d3b801a763ddeb50804226c446cb /OpenSim/Region/Framework | |
parent | temporary HACK to not kill some viewers (diff) | |
download | opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.zip opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.gz opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.bz2 opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.xz |
replace my hack by others hack
Diffstat (limited to '')
-rwxr-xr-x | OpenSim/Region/Framework/Scenes/Scene.cs | 53 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 9 |
2 files changed, 29 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; |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 2b6c5e6..527f12e 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -45,6 +45,7 @@ using OpenSim.Region.PhysicsModules.SharedBase; | |||
45 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; | 45 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; |
46 | using OpenSim.Services.Interfaces; | 46 | using OpenSim.Services.Interfaces; |
47 | using TeleportFlags = OpenSim.Framework.Constants.TeleportFlags; | 47 | using TeleportFlags = OpenSim.Framework.Constants.TeleportFlags; |
48 | using Caps = OpenSim.Framework.Capabilities.Caps; | ||
48 | 49 | ||
49 | namespace OpenSim.Region.Framework.Scenes | 50 | namespace OpenSim.Region.Framework.Scenes |
50 | { | 51 | { |
@@ -1110,6 +1111,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
1110 | 1111 | ||
1111 | HealRate = 0.5f; | 1112 | HealRate = 0.5f; |
1112 | 1113 | ||
1114 | ControllingClient.SupportObjectAnimations = false; | ||
1115 | if (m_scene.CapsModule != null) | ||
1116 | { | ||
1117 | Caps cap = m_scene.CapsModule.GetCapsForUser(ControllingClient.CircuitCode); | ||
1118 | if (cap != null && (cap.Flags & Caps.CapsFlags.ObjectAnim) != 0) | ||
1119 | ControllingClient.SupportObjectAnimations = true; | ||
1120 | } | ||
1121 | |||
1113 | IConfig sconfig = m_scene.Config.Configs["EntityTransfer"]; | 1122 | IConfig sconfig = m_scene.Config.Configs["EntityTransfer"]; |
1114 | if (sconfig != null) | 1123 | if (sconfig != null) |
1115 | { | 1124 | { |