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(-)
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