aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares2008-09-19 01:11:40 +0000
committerTeravus Ovares2008-09-19 01:11:40 +0000
commit610313ea6499f252e488f46d39f781b6e853dab7 (patch)
tree6f6ff154fda25e51bdea57867e434d7b0366cd54
parent* Switches content type from application/xml+llsd to application/llsd+xml on ... (diff)
downloadopensim-SC-610313ea6499f252e488f46d39f781b6e853dab7.zip
opensim-SC-610313ea6499f252e488f46d39f781b6e853dab7.tar.gz
opensim-SC-610313ea6499f252e488f46d39f781b6e853dab7.tar.bz2
opensim-SC-610313ea6499f252e488f46d39f781b6e853dab7.tar.xz
* Added null exception handler where we couldn't locate a user data record in the cache for the user
* More OGP tweaks to make it play nice in an error condition. * Still Experimental.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs11
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs9
2 files changed, 18 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs b/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs
index 1fd559e..0462427 100644
--- a/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs
+++ b/OpenSim/Region/Environment/Modules/InterGrid/OpenGridProtocolModule.cs
@@ -312,7 +312,7 @@ namespace OpenSim.Region.Environment.Modules.InterGrid
312 //int RegionPort = (int)reg.HttpPort; 312 //int RegionPort = (int)reg.HttpPort;
313 313
314 UUID RemoteAgentID = requestMap["agent_id"].AsUUID(); 314 UUID RemoteAgentID = requestMap["agent_id"].AsUUID();
315 315
316 // will be used in the future. The client always connects with the aditi agentid currently 316 // will be used in the future. The client always connects with the aditi agentid currently
317 UUID LocalAgentID = RemoteAgentID; 317 UUID LocalAgentID = RemoteAgentID;
318 318
@@ -342,6 +342,15 @@ namespace OpenSim.Region.Environment.Modules.InterGrid
342 UpdateOGPState(LocalAgentID, userState); 342 UpdateOGPState(LocalAgentID, userState);
343 343
344 LLSDMap responseMap = new LLSDMap(); 344 LLSDMap responseMap = new LLSDMap();
345
346 if (RemoteAgentID == UUID.Zero)
347 {
348 responseMap["connect"] = LLSD.FromBoolean(false);
349 responseMap["message"] = LLSD.FromString("No agent ID was specified in rez_avatar/request");
350 m_log.Error("[OGP]: rez_avatar/request failed because no avatar UUID was provided in the request body");
351 return responseMap;
352 }
353
345 responseMap["sim_host"] = LLSD.FromString(reg.ExternalHostName); 354 responseMap["sim_host"] = LLSD.FromString(reg.ExternalHostName);
346 355
347 // DEPRECIATED 356 // DEPRECIATED
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 88f2928..210b6c6 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -2620,7 +2620,14 @@ namespace OpenSim.Region.Environment.Scenes
2620 m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); 2620 m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent);
2621 // rewrite session_id 2621 // rewrite session_id
2622 CachedUserInfo userinfo = CommsManager.UserProfileCacheService.GetUserDetails(agent.AgentID); 2622 CachedUserInfo userinfo = CommsManager.UserProfileCacheService.GetUserDetails(agent.AgentID);
2623 userinfo.SessionID = agent.SessionID; 2623 if (userinfo != null)
2624 {
2625 userinfo.SessionID = agent.SessionID;
2626 }
2627 else
2628 {
2629 m_log.WarnFormat("[USERINFO CACHE]: We couldn't find a User Info record for {0}. This is usually an indication that the UUID we're looking up is invalid", agent.AgentID);
2630 }
2624 } 2631 }
2625 else 2632 else
2626 { 2633 {