* Add a second logoffuser message with the region secret.
* This ensures that the user will be logged off successfully by a properly permissioned user server0.6.2-post-fixes
parent
c80b2bb98e
commit
412dd1260b
|
@ -106,7 +106,7 @@ namespace OpenSim.Grid.UserServer
|
||||||
Hashtable SimParams = new Hashtable();
|
Hashtable SimParams = new Hashtable();
|
||||||
SimParams["agent_id"] = theUser.ID.ToString();
|
SimParams["agent_id"] = theUser.ID.ToString();
|
||||||
SimParams["region_secret"] = theUser.CurrentAgent.SecureSessionID.ToString();
|
SimParams["region_secret"] = theUser.CurrentAgent.SecureSessionID.ToString();
|
||||||
//SimParams["region_secret"] = SimInfo.regionSecret;
|
SimParams["region_secret2"] = SimInfo.regionSecret;
|
||||||
//m_log.Info(SimInfo.regionSecret);
|
//m_log.Info(SimInfo.regionSecret);
|
||||||
SimParams["regionhandle"] = theUser.CurrentAgent.Handle.ToString();
|
SimParams["regionhandle"] = theUser.CurrentAgent.Handle.ToString();
|
||||||
SimParams["message"] = message;
|
SimParams["message"] = message;
|
||||||
|
@ -135,6 +135,37 @@ namespace OpenSim.Grid.UserServer
|
||||||
m_log.Error("[LOGIN]: Error telling region to logout user!");
|
m_log.Error("[LOGIN]: Error telling region to logout user!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prepare notification
|
||||||
|
SimParams = new Hashtable();
|
||||||
|
SimParams["agent_id"] = theUser.ID.ToString();
|
||||||
|
SimParams["region_secret"] = SimInfo.regionSecret;
|
||||||
|
//m_log.Info(SimInfo.regionSecret);
|
||||||
|
SimParams["regionhandle"] = theUser.CurrentAgent.Handle.ToString();
|
||||||
|
SimParams["message"] = message;
|
||||||
|
SendParams = new ArrayList();
|
||||||
|
SendParams.Add(SimParams);
|
||||||
|
|
||||||
|
m_log.InfoFormat(
|
||||||
|
"[ASSUMED CRASH]: Telling region {0} @ {1},{2} ({3}) that their agent is dead: {4}",
|
||||||
|
SimInfo.regionName, SimInfo.regionLocX, SimInfo.regionLocY, SimInfo.httpServerURI,
|
||||||
|
theUser.FirstName + " " + theUser.SurName);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
XmlRpcRequest GridReq = new XmlRpcRequest("logoff_user", SendParams);
|
||||||
|
XmlRpcResponse GridResp = GridReq.Send(SimInfo.httpServerURI, 6000);
|
||||||
|
|
||||||
|
if (GridResp.IsFault)
|
||||||
|
{
|
||||||
|
m_log.ErrorFormat(
|
||||||
|
"[LOGIN]: XMLRPC request for {0} failed, fault code: {1}, reason: {2}, This is likely an old region revision.",
|
||||||
|
SimInfo.httpServerURI, GridResp.FaultCode, GridResp.FaultString);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
m_log.Error("[LOGIN]: Error telling region to logout user!");
|
||||||
|
}
|
||||||
//base.LogOffUser(theUser);
|
//base.LogOffUser(theUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue