aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
diff options
context:
space:
mode:
authorOren Hurvitz2014-04-06 16:18:40 +0300
committerOren Hurvitz2014-04-06 15:40:45 +0100
commitabe0f4a0882942e211b17408767eca664762e062 (patch)
treec58141c3b8aab60e40c69c4e9bf47d46caa959fa /OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
parentPass the correct position to QueryAccess() instead of UUID.Zero (it was wrong... (diff)
downloadopensim-SC-abe0f4a0882942e211b17408767eca664762e062.zip
opensim-SC-abe0f4a0882942e211b17408767eca664762e062.tar.gz
opensim-SC-abe0f4a0882942e211b17408767eca664762e062.tar.bz2
opensim-SC-abe0f4a0882942e211b17408767eca664762e062.tar.xz
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.
Diffstat (limited to 'OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs')
-rw-r--r--OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
index 8b1cc27..b1663ee 100644
--- a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs
@@ -202,10 +202,16 @@ namespace OpenSim.Services.Connectors.Hypergrid
202 return mapTile; 202 return mapTile;
203 } 203 }
204 204
205 public GridRegion GetHyperlinkRegion(GridRegion gatekeeper, UUID regionID, out string message) 205 public GridRegion GetHyperlinkRegion(GridRegion gatekeeper, UUID regionID, UUID agentID, string agentHomeURI, out string message)
206 { 206 {
207 Hashtable hash = new Hashtable(); 207 Hashtable hash = new Hashtable();
208 hash["region_uuid"] = regionID.ToString(); 208 hash["region_uuid"] = regionID.ToString();
209 if (agentID != UUID.Zero)
210 {
211 hash["agent_id"] = agentID.ToString();
212 if (agentHomeURI != null)
213 hash["agent_home_uri"] = agentHomeURI;
214 }
209 215
210 IList paramList = new ArrayList(); 216 IList paramList = new ArrayList();
211 paramList.Add(hash); 217 paramList.Add(hash);