diff options
author | Teravus Ovares | 2009-01-13 23:27:48 +0000 |
---|---|---|
committer | Teravus Ovares | 2009-01-13 23:27:48 +0000 |
commit | 412dd1260b4241c48e04eca6f9ce55a26f28dc51 (patch) | |
tree | eb22aff2fa72e13b6415be7d4919e9eabc0ee689 /OpenSim/Grid | |
parent | * Fix a few caps limiter that were causing problems (diff) | |
download | opensim-SC_OLD-412dd1260b4241c48e04eca6f9ce55a26f28dc51.zip opensim-SC_OLD-412dd1260b4241c48e04eca6f9ce55a26f28dc51.tar.gz opensim-SC_OLD-412dd1260b4241c48e04eca6f9ce55a26f28dc51.tar.bz2 opensim-SC_OLD-412dd1260b4241c48e04eca6f9ce55a26f28dc51.tar.xz |
* Add a second logoffuser message with the region secret.
* This ensures that the user will be logged off successfully by a properly permissioned user server
Diffstat (limited to 'OpenSim/Grid')
-rw-r--r-- | OpenSim/Grid/UserServer/UserLoginService.cs | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/OpenSim/Grid/UserServer/UserLoginService.cs b/OpenSim/Grid/UserServer/UserLoginService.cs index 267b2a0..f19e564 100644 --- a/OpenSim/Grid/UserServer/UserLoginService.cs +++ b/OpenSim/Grid/UserServer/UserLoginService.cs | |||
@@ -106,7 +106,7 @@ namespace OpenSim.Grid.UserServer | |||
106 | Hashtable SimParams = new Hashtable(); | 106 | Hashtable SimParams = new Hashtable(); |
107 | SimParams["agent_id"] = theUser.ID.ToString(); | 107 | SimParams["agent_id"] = theUser.ID.ToString(); |
108 | SimParams["region_secret"] = theUser.CurrentAgent.SecureSessionID.ToString(); | 108 | SimParams["region_secret"] = theUser.CurrentAgent.SecureSessionID.ToString(); |
109 | //SimParams["region_secret"] = SimInfo.regionSecret; | 109 | SimParams["region_secret2"] = SimInfo.regionSecret; |
110 | //m_log.Info(SimInfo.regionSecret); | 110 | //m_log.Info(SimInfo.regionSecret); |
111 | SimParams["regionhandle"] = theUser.CurrentAgent.Handle.ToString(); | 111 | SimParams["regionhandle"] = theUser.CurrentAgent.Handle.ToString(); |
112 | SimParams["message"] = message; | 112 | SimParams["message"] = message; |
@@ -135,6 +135,37 @@ namespace OpenSim.Grid.UserServer | |||
135 | m_log.Error("[LOGIN]: Error telling region to logout user!"); | 135 | m_log.Error("[LOGIN]: Error telling region to logout user!"); |
136 | } | 136 | } |
137 | 137 | ||
138 | // Prepare notification | ||
139 | SimParams = new Hashtable(); | ||
140 | SimParams["agent_id"] = theUser.ID.ToString(); | ||
141 | SimParams["region_secret"] = SimInfo.regionSecret; | ||
142 | //m_log.Info(SimInfo.regionSecret); | ||
143 | SimParams["regionhandle"] = theUser.CurrentAgent.Handle.ToString(); | ||
144 | SimParams["message"] = message; | ||
145 | SendParams = new ArrayList(); | ||
146 | SendParams.Add(SimParams); | ||
147 | |||
148 | m_log.InfoFormat( | ||
149 | "[ASSUMED CRASH]: Telling region {0} @ {1},{2} ({3}) that their agent is dead: {4}", | ||
150 | SimInfo.regionName, SimInfo.regionLocX, SimInfo.regionLocY, SimInfo.httpServerURI, | ||
151 | theUser.FirstName + " " + theUser.SurName); | ||
152 | |||
153 | try | ||
154 | { | ||
155 | XmlRpcRequest GridReq = new XmlRpcRequest("logoff_user", SendParams); | ||
156 | XmlRpcResponse GridResp = GridReq.Send(SimInfo.httpServerURI, 6000); | ||
157 | |||
158 | if (GridResp.IsFault) | ||
159 | { | ||
160 | m_log.ErrorFormat( | ||
161 | "[LOGIN]: XMLRPC request for {0} failed, fault code: {1}, reason: {2}, This is likely an old region revision.", | ||
162 | SimInfo.httpServerURI, GridResp.FaultCode, GridResp.FaultString); | ||
163 | } | ||
164 | } | ||
165 | catch (Exception) | ||
166 | { | ||
167 | m_log.Error("[LOGIN]: Error telling region to logout user!"); | ||
168 | } | ||
138 | //base.LogOffUser(theUser); | 169 | //base.LogOffUser(theUser); |
139 | } | 170 | } |
140 | 171 | ||