* 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.
0.6.0-stable
Teravus Ovares 2008-09-19 01:11:40 +00:00
parent a1217410e5
commit 610313ea64
2 changed files with 18 additions and 2 deletions

View File

@ -312,7 +312,7 @@ namespace OpenSim.Region.Environment.Modules.InterGrid
//int RegionPort = (int)reg.HttpPort;
UUID RemoteAgentID = requestMap["agent_id"].AsUUID();
// will be used in the future. The client always connects with the aditi agentid currently
UUID LocalAgentID = RemoteAgentID;
@ -342,6 +342,15 @@ namespace OpenSim.Region.Environment.Modules.InterGrid
UpdateOGPState(LocalAgentID, userState);
LLSDMap responseMap = new LLSDMap();
if (RemoteAgentID == UUID.Zero)
{
responseMap["connect"] = LLSD.FromBoolean(false);
responseMap["message"] = LLSD.FromString("No agent ID was specified in rez_avatar/request");
m_log.Error("[OGP]: rez_avatar/request failed because no avatar UUID was provided in the request body");
return responseMap;
}
responseMap["sim_host"] = LLSD.FromString(reg.ExternalHostName);
// DEPRECIATED

View File

@ -2620,7 +2620,14 @@ namespace OpenSim.Region.Environment.Scenes
m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent);
// rewrite session_id
CachedUserInfo userinfo = CommsManager.UserProfileCacheService.GetUserDetails(agent.AgentID);
userinfo.SessionID = agent.SessionID;
if (userinfo != null)
{
userinfo.SessionID = agent.SessionID;
}
else
{
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);
}
}
else
{