From 434afaf717eef01f26b6b95ba8b4ae50fc470a4c Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Tue, 18 Nov 2008 00:47:30 +0000 Subject: * Added and removed debug information relating to client connections * Minor client fixes * Added the ability for a client to login without a UserProfile, allowing certain alternate clients to connect to the region. --- OpenSim/Framework/ClientManager.cs | 3 +-- OpenSim/Framework/Communications/LoginService.cs | 2 +- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 3 ++- OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 3 +++ OpenSim/Region/Environment/Scenes/Scene.cs | 3 +++ OpenSim/Region/Environment/Scenes/ScenePresence.cs | 5 +++-- 6 files changed, 13 insertions(+), 6 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Framework/ClientManager.cs b/OpenSim/Framework/ClientManager.cs index 1bb9836..cdccf0e 100644 --- a/OpenSim/Framework/ClientManager.cs +++ b/OpenSim/Framework/ClientManager.cs @@ -49,8 +49,7 @@ namespace OpenSim.Framework public void ForEachClient(ForEachClientDelegate whatToDo) { - // Wasteful, I know - IClientAPI[] LocalClients = new IClientAPI[0]; + IClientAPI[] LocalClients; lock (m_clients) { LocalClients = new IClientAPI[m_clients.Count]; diff --git a/OpenSim/Framework/Communications/LoginService.cs b/OpenSim/Framework/Communications/LoginService.cs index c569a71..b4ee069 100644 --- a/OpenSim/Framework/Communications/LoginService.cs +++ b/OpenSim/Framework/Communications/LoginService.cs @@ -166,7 +166,7 @@ namespace OpenSim.Framework.Communications } else if (requestData.Contains("web_login_key")) { - UUID webloginkey = UUID.Zero; + UUID webloginkey; try { webloginkey = new UUID((string)requestData["web_login_key"]); diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index b9bc888..3265817 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -775,7 +775,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Don't let a failure in an individual client thread crash the whole sim. m_log.ErrorFormat( - "[CLIENT]: Client thread for {0} {1} crashed. Logging them out. Exception {2}", Name, AgentId, e); + "[CLIENT]: Client thread for {0} {1} crashed. Logging them out.", Name, AgentId); + m_log.Error(e.ToString()); try { diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index b6aa961..01f2a09 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -89,6 +89,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP { m_localScene = value; m_packetServer.LocalScene = m_localScene; + m_location = new Location(m_localScene.RegionInfo.RegionHandle); } } @@ -404,6 +405,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// protected virtual void AddNewClient(UseCircuitCodePacket useCircuit, EndPoint epSender, EndPoint epProxy) { + m_log.Debug("[CONNECTION DEBUGGING] AddNewClient Called"); + //Slave regions don't accept new clients if (m_localScene.Region_Status != RegionStatus.SlaveScene) { diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 2287f99..e374bba 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -2746,6 +2746,9 @@ namespace OpenSim.Region.Environment.Scenes /// public void NewUserConnection(AgentCircuitData agent) { + m_log.DebugFormat("[CONNECTION DEBUGGING] Adding NewUserConnection for {0} with CC of {1}", agent.AgentID, + agent.circuitcode); + if (m_regInfo.EstateSettings.IsBanned(agent.AgentID)) { m_log.WarnFormat( diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 3c51aa6..19f0f9c 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -510,8 +510,9 @@ namespace OpenSim.Region.Environment.Scenes RegisterToEvents(); SetDirectionVectors(); - CachedUserInfo userInfo = m_scene.CommsManager.UserProfileCacheService.GetUserDetails(m_uuid); - userInfo.OnItemReceived += ItemReceived; + CachedUserInfo userInfo = m_scene.CommsManager.UserProfileCacheService.GetUserDetails(m_uuid); + if (userInfo != null) + userInfo.OnItemReceived += ItemReceived; } public ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo, byte[] visualParams, -- cgit v1.1