diff options
author | Oren Hurvitz | 2014-04-09 08:03:25 +0300 |
---|---|---|
committer | Oren Hurvitz | 2014-04-09 09:22:20 +0100 |
commit | 06e0528d0b9929cbd8d2b360b0baa00288340d13 (patch) | |
tree | 0ffd33e5eda96badff712bdd78794ce6debbb392 /OpenSim/Services/HypergridService/UserAgentService.cs | |
parent | Log when the presence service logs-out all the users in a region (diff) | |
download | opensim-SC_OLD-06e0528d0b9929cbd8d2b360b0baa00288340d13.zip opensim-SC_OLD-06e0528d0b9929cbd8d2b360b0baa00288340d13.tar.gz opensim-SC_OLD-06e0528d0b9929cbd8d2b360b0baa00288340d13.tar.bz2 opensim-SC_OLD-06e0528d0b9929cbd8d2b360b0baa00288340d13.tar.xz |
In teleports, pass the source region to the destination (similar to an HTTP referrer)
Diffstat (limited to 'OpenSim/Services/HypergridService/UserAgentService.cs')
-rw-r--r-- | OpenSim/Services/HypergridService/UserAgentService.cs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index b414aca..6ec2f19 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs | |||
@@ -215,7 +215,7 @@ namespace OpenSim.Services.HypergridService | |||
215 | return home; | 215 | return home; |
216 | } | 216 | } |
217 | 217 | ||
218 | public bool LoginAgentToGrid(AgentCircuitData agentCircuit, GridRegion gatekeeper, GridRegion finalDestination, bool fromLogin, out string reason) | 218 | public bool LoginAgentToGrid(GridRegion source, AgentCircuitData agentCircuit, GridRegion gatekeeper, GridRegion finalDestination, bool fromLogin, out string reason) |
219 | { | 219 | { |
220 | m_log.DebugFormat("[USER AGENT SERVICE]: Request to login user {0} {1} (@{2}) to grid {3}", | 220 | m_log.DebugFormat("[USER AGENT SERVICE]: Request to login user {0} {1} (@{2}) to grid {3}", |
221 | agentCircuit.firstname, agentCircuit.lastname, (fromLogin ? agentCircuit.IPAddress : "stored IP"), gatekeeper.ServerURI); | 221 | agentCircuit.firstname, agentCircuit.lastname, (fromLogin ? agentCircuit.IPAddress : "stored IP"), gatekeeper.ServerURI); |
@@ -274,10 +274,12 @@ namespace OpenSim.Services.HypergridService | |||
274 | m_log.DebugFormat("[USER AGENT SERVICE]: this grid: {0}, desired grid: {1}, desired region: {2}", m_GridName, gridName, region.RegionID); | 274 | m_log.DebugFormat("[USER AGENT SERVICE]: this grid: {0}, desired grid: {1}, desired region: {2}", m_GridName, gridName, region.RegionID); |
275 | 275 | ||
276 | if (m_GridName == gridName) | 276 | if (m_GridName == gridName) |
277 | success = m_GatekeeperService.LoginAgent(agentCircuit, finalDestination, out reason); | 277 | { |
278 | success = m_GatekeeperService.LoginAgent(source, agentCircuit, finalDestination, out reason); | ||
279 | } | ||
278 | else | 280 | else |
279 | { | 281 | { |
280 | success = m_GatekeeperConnector.CreateAgent(region, agentCircuit, (uint)Constants.TeleportFlags.ViaLogin, out myExternalIP, out reason); | 282 | success = m_GatekeeperConnector.CreateAgent(source, region, agentCircuit, (uint)Constants.TeleportFlags.ViaLogin, out myExternalIP, out reason); |
281 | if (success) | 283 | if (success) |
282 | // Report them as nowhere | 284 | // Report them as nowhere |
283 | m_PresenceService.ReportAgent(agentCircuit.SessionID, UUID.Zero); | 285 | m_PresenceService.ReportAgent(agentCircuit.SessionID, UUID.Zero); |
@@ -307,10 +309,10 @@ namespace OpenSim.Services.HypergridService | |||
307 | return true; | 309 | return true; |
308 | } | 310 | } |
309 | 311 | ||
310 | public bool LoginAgentToGrid(AgentCircuitData agentCircuit, GridRegion gatekeeper, GridRegion finalDestination, out string reason) | 312 | public bool LoginAgentToGrid(GridRegion source, AgentCircuitData agentCircuit, GridRegion gatekeeper, GridRegion finalDestination, out string reason) |
311 | { | 313 | { |
312 | reason = string.Empty; | 314 | reason = string.Empty; |
313 | return LoginAgentToGrid(agentCircuit, gatekeeper, finalDestination, false, out reason); | 315 | return LoginAgentToGrid(source, agentCircuit, gatekeeper, finalDestination, false, out reason); |
314 | } | 316 | } |
315 | 317 | ||
316 | TravelingAgentInfo CreateTravelInfo(AgentCircuitData agentCircuit, GridRegion region, bool fromLogin, out TravelingAgentInfo existing) | 318 | TravelingAgentInfo CreateTravelInfo(AgentCircuitData agentCircuit, GridRegion region, bool fromLogin, out TravelingAgentInfo existing) |