aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorTeravus Ovares2009-01-13 23:25:47 +0000
committerTeravus Ovares2009-01-13 23:25:47 +0000
commitc80b2bb98e42f45bd80003e98fac8c18a360b33a (patch)
tree8b0d460e42758fd1d24612c45cb168600b3db472 /OpenSim
parent* Fix an invalid seed cap that could be causing issues. (diff)
downloadopensim-SC-c80b2bb98e42f45bd80003e98fac8c18a360b33a.zip
opensim-SC-c80b2bb98e42f45bd80003e98fac8c18a360b33a.tar.gz
opensim-SC-c80b2bb98e42f45bd80003e98fac8c18a360b33a.tar.bz2
opensim-SC-c80b2bb98e42f45bd80003e98fac8c18a360b33a.tar.xz
* Fix a few caps limiter that were causing problems
* Added a path for all sessionids to be logged off when a region secret is provided. (helps log-off dead agents).
Diffstat (limited to '')
-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