aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorUbitUmarov2019-01-01 12:06:29 +0000
committerUbitUmarov2019-01-01 12:06:29 +0000
commit02492f7b15f29419c1ea4725a6ae6959bc199912 (patch)
tree2967fed8eba4d3b801a763ddeb50804226c446cb /OpenSim/Region/Framework
parenttemporary HACK to not kill some viewers (diff)
downloadopensim-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-xOpenSim/Region/Framework/Scenes/Scene.cs53
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs9
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;
45using GridRegion = OpenSim.Services.Interfaces.GridRegion; 45using GridRegion = OpenSim.Services.Interfaces.GridRegion;
46using OpenSim.Services.Interfaces; 46using OpenSim.Services.Interfaces;
47using TeleportFlags = OpenSim.Framework.Constants.TeleportFlags; 47using TeleportFlags = OpenSim.Framework.Constants.TeleportFlags;
48using Caps = OpenSim.Framework.Capabilities.Caps;
48 49
49namespace OpenSim.Region.Framework.Scenes 50namespace 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 {