Revert "Implement ability for hg logins to try fallback regions just like local logins."

This approach does not work - it is taking place too far down the login process where really the region checking
could only be done when the hg map tiles are linked on the main map (messy and probably impossible) or possibly
when the final destination is fetched at the very first stage of teleport (which couldn't be done without a protocol
change to pass the agentID as well as the requested regionID)

This reverts commit 3d9b73c47a.
0.7.6-extended
Justin Clark-Casey (justincc) 2013-08-22 01:20:01 +01:00
parent 3d9b73c47a
commit bcb8605f84
1 changed files with 5 additions and 39 deletions

View File

@ -326,7 +326,7 @@ namespace OpenSim.Services.HypergridService
return false; return false;
} }
m_log.DebugFormat("[GATEKEEPER SERVICE]: User {0} is ok", aCircuit.Name); m_log.DebugFormat("[GATEKEEPER SERVICE]: User is OK");
bool isFirstLogin = false; bool isFirstLogin = false;
// //
@ -345,7 +345,7 @@ namespace OpenSim.Services.HypergridService
aCircuit.firstname, aCircuit.lastname); aCircuit.firstname, aCircuit.lastname);
return false; return false;
} }
m_log.DebugFormat("[GATEKEEPER SERVICE]: Login presence {0} is ok", aCircuit.Name); m_log.DebugFormat("[GATEKEEPER SERVICE]: Login presence ok");
// Also login foreigners with GridUser service // Also login foreigners with GridUser service
if (m_GridUserService != null && account == null) if (m_GridUserService != null && account == null)
@ -376,8 +376,7 @@ namespace OpenSim.Services.HypergridService
reason = "Destination region not found"; reason = "Destination region not found";
return false; return false;
} }
m_log.DebugFormat( m_log.DebugFormat("[GATEKEEPER SERVICE]: destination ok: {0}", destination.RegionName);
"[GATEKEEPER SERVICE]: Destination {0} is ok for {1}", destination.RegionName, aCircuit.Name);
// //
// Adjust the visible name // Adjust the visible name
@ -411,41 +410,8 @@ namespace OpenSim.Services.HypergridService
// Preserve our TeleportFlags we have gathered so-far // Preserve our TeleportFlags we have gathered so-far
loginFlag |= (Constants.TeleportFlags) aCircuit.teleportFlags; loginFlag |= (Constants.TeleportFlags) aCircuit.teleportFlags;
m_log.DebugFormat("[GATEKEEPER SERVICE]: Launching {0} {1}", aCircuit.Name, loginFlag); m_log.DebugFormat("[GATEKEEPER SERVICE]: launching agent {0}", loginFlag);
return m_SimulationService.CreateAgent(destination, aCircuit, (uint)loginFlag, out reason);
bool success = m_SimulationService.CreateAgent(destination, aCircuit, (uint)loginFlag, out reason);
if (!success)
{
List<GridRegion> fallbackRegions = m_GridService.GetFallbackRegions(account.ScopeID, destination.RegionLocX, destination.RegionLocY);
if (fallbackRegions != null)
{
// Try the fallback regions
m_log.DebugFormat(
"[GATEKEEPER SERVICE]: Could not successfully log agent {0} into {1}. Trying fallback regions.",
aCircuit.Name, destination.RegionName);
foreach (GridRegion fallbackRegion in fallbackRegions)
{
m_log.DebugFormat(
"[GATEKEEPER SERVICE]: Trying fallback region {0} for {1}",
fallbackRegion.RegionName, aCircuit.Name);
success = m_SimulationService.CreateAgent(fallbackRegion, aCircuit, (uint)loginFlag, out reason);
if (success)
break;
}
}
else
{
m_log.DebugFormat(
"[GATEKEEPER SERVICE]: Could not successfully log agent {0} into {1} and no fallback regions to try.",
aCircuit.Name, destination.RegionName);
}
}
return success;
} }
protected bool Authenticate(AgentCircuitData aCircuit) protected bool Authenticate(AgentCircuitData aCircuit)