When preparing a Hypergrid teleport, tell the receiving grid which user is entering the grid.

This can affect which region to use. E.g., returning users may be allowed to enter any region, whereas users from other grids will have to enter a gateway region. Previously per-user decisions were only made later, but by then it's too late to change which region the user enters.
This commit is contained in:
Oren Hurvitz
2014-04-06 16:18:40 +03:00
parent d4acaf25af
commit abe0f4a088
8 changed files with 50 additions and 15 deletions

View File

@@ -94,8 +94,15 @@ namespace OpenSim.Server.Handlers.Hypergrid
UUID regionID = UUID.Zero;
UUID.TryParse(regionID_str, out regionID);
UUID agentID = UUID.Zero;
string agentHomeURI = null;
if (requestData.ContainsKey("agent_id"))
agentID = UUID.Parse((string)requestData["agent_id"]);
if (requestData.ContainsKey("agent_home_uri"))
agentHomeURI = (string)requestData["agent_home_uri"];
string message;
GridRegion regInfo = m_GatekeeperService.GetHyperlinkRegion(regionID, out message);
GridRegion regInfo = m_GatekeeperService.GetHyperlinkRegion(regionID, agentID, agentHomeURI, out message);
Hashtable hash = new Hashtable();
if (regInfo == null)