aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server/Handlers/Hypergrid
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Server/Handlers/Hypergrid')
-rw-r--r--OpenSim/Server/Handlers/Hypergrid/AgentHandlers.cs5
-rw-r--r--OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs20
-rw-r--r--OpenSim/Server/Handlers/Hypergrid/HeloServerConnector.cs2
-rw-r--r--OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs5
-rw-r--r--OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs20
-rw-r--r--OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs4
6 files changed, 34 insertions, 22 deletions
diff --git a/OpenSim/Server/Handlers/Hypergrid/AgentHandlers.cs b/OpenSim/Server/Handlers/Hypergrid/AgentHandlers.cs
index adc2fbc..95a0510 100644
--- a/OpenSim/Server/Handlers/Hypergrid/AgentHandlers.cs
+++ b/OpenSim/Server/Handlers/Hypergrid/AgentHandlers.cs
@@ -61,9 +61,10 @@ namespace OpenSim.Server.Handlers.Hypergrid
61 m_Proxy = proxy; 61 m_Proxy = proxy;
62 } 62 }
63 63
64 protected override bool CreateAgent(GridRegion gatekeeper, GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason) 64 protected override bool CreateAgent(GridRegion source, GridRegion gatekeeper, GridRegion destination,
65 AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason)
65 { 66 {
66 return m_GatekeeperService.LoginAgent(aCircuit, destination, out reason); 67 return m_GatekeeperService.LoginAgent(source, aCircuit, destination, out reason);
67 } 68 }
68 } 69 }
69} 70}
diff --git a/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs b/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs
index a2bdadb..37b47ed 100644
--- a/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs
+++ b/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs
@@ -335,7 +335,7 @@ namespace OpenSim.Server.Handlers.Hypergrid
335 335
336 rootElement.AppendChild(result); 336 rootElement.AppendChild(result);
337 337
338 return DocToBytes(doc); 338 return Util.DocToBytes(doc);
339 } 339 }
340 340
341 private byte[] SuccessResult(string value) 341 private byte[] SuccessResult(string value)
@@ -362,7 +362,7 @@ namespace OpenSim.Server.Handlers.Hypergrid
362 362
363 rootElement.AppendChild(message); 363 rootElement.AppendChild(message);
364 364
365 return DocToBytes(doc); 365 return Util.DocToBytes(doc);
366 } 366 }
367 367
368 368
@@ -395,7 +395,7 @@ namespace OpenSim.Server.Handlers.Hypergrid
395 395
396 rootElement.AppendChild(message); 396 rootElement.AppendChild(message);
397 397
398 return DocToBytes(doc); 398 return Util.DocToBytes(doc);
399 } 399 }
400 400
401 private byte[] BoolResult(bool value) 401 private byte[] BoolResult(bool value)
@@ -417,21 +417,9 @@ namespace OpenSim.Server.Handlers.Hypergrid
417 417
418 rootElement.AppendChild(result); 418 rootElement.AppendChild(result);
419 419
420 return DocToBytes(doc); 420 return Util.DocToBytes(doc);
421 } 421 }
422 422
423 private byte[] DocToBytes(XmlDocument doc)
424 {
425 MemoryStream ms = new MemoryStream();
426 XmlTextWriter xw = new XmlTextWriter(ms, null);
427 xw.Formatting = Formatting.Indented;
428 doc.WriteTo(xw);
429 xw.Flush();
430
431 return ms.ToArray();
432 }
433
434
435 #endregion 423 #endregion
436 } 424 }
437} 425}
diff --git a/OpenSim/Server/Handlers/Hypergrid/HeloServerConnector.cs b/OpenSim/Server/Handlers/Hypergrid/HeloServerConnector.cs
index 06eaf2e..dac4ca8 100644
--- a/OpenSim/Server/Handlers/Hypergrid/HeloServerConnector.cs
+++ b/OpenSim/Server/Handlers/Hypergrid/HeloServerConnector.cs
@@ -44,7 +44,9 @@ namespace OpenSim.Server.Handlers.Hypergrid
44 public HeloServiceInConnector(IConfigSource config, IHttpServer server, string configName) : 44 public HeloServiceInConnector(IConfigSource config, IHttpServer server, string configName) :
45 base(config, server, configName) 45 base(config, server, configName)
46 { 46 {
47#pragma warning disable 0612
47 server.AddStreamHandler(new HeloServerGetHandler("opensim-robust")); 48 server.AddStreamHandler(new HeloServerGetHandler("opensim-robust"));
49#pragma warning restore 0612
48 server.AddStreamHandler(new HeloServerHeadHandler("opensim-robust")); 50 server.AddStreamHandler(new HeloServerHeadHandler("opensim-robust"));
49 } 51 }
50 } 52 }
diff --git a/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs b/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs
index 04bb9e8..e787f7c 100644
--- a/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs
+++ b/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs
@@ -117,9 +117,10 @@ namespace OpenSim.Server.Handlers.Hypergrid
117 } 117 }
118 118
119 119
120 protected override bool CreateAgent(GridRegion gatekeeper, GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason) 120 protected override bool CreateAgent(GridRegion source, GridRegion gatekeeper, GridRegion destination,
121 AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason)
121 { 122 {
122 return m_UserAgentService.LoginAgentToGrid(aCircuit, gatekeeper, destination, fromLogin, out reason); 123 return m_UserAgentService.LoginAgentToGrid(source, aCircuit, gatekeeper, destination, fromLogin, out reason);
123 } 124 }
124 125
125 } 126 }
diff --git a/OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs b/OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs
index 5d03097..c7ac9be 100644
--- a/OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs
+++ b/OpenSim/Server/Handlers/Hypergrid/HypergridHandlers.cs
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
@@ -94,22 +94,38 @@ namespace OpenSim.Server.Handlers.Hypergrid
94 UUID regionID = UUID.Zero; 94 UUID regionID = UUID.Zero;
95 UUID.TryParse(regionID_str, out regionID); 95 UUID.TryParse(regionID_str, out regionID);
96 96
97 GridRegion regInfo = m_GatekeeperService.GetHyperlinkRegion(regionID); 97 UUID agentID = UUID.Zero;
98 string agentHomeURI = null;
99 if (requestData.ContainsKey("agent_id"))
100 agentID = UUID.Parse((string)requestData["agent_id"]);
101 if (requestData.ContainsKey("agent_home_uri"))
102 agentHomeURI = (string)requestData["agent_home_uri"];
103
104 string message;
105 GridRegion regInfo = m_GatekeeperService.GetHyperlinkRegion(regionID, agentID, agentHomeURI, out message);
98 106
99 Hashtable hash = new Hashtable(); 107 Hashtable hash = new Hashtable();
100 if (regInfo == null) 108 if (regInfo == null)
109 {
101 hash["result"] = "false"; 110 hash["result"] = "false";
111 }
102 else 112 else
103 { 113 {
104 hash["result"] = "true"; 114 hash["result"] = "true";
105 hash["uuid"] = regInfo.RegionID.ToString(); 115 hash["uuid"] = regInfo.RegionID.ToString();
106 hash["x"] = regInfo.RegionLocX.ToString(); 116 hash["x"] = regInfo.RegionLocX.ToString();
107 hash["y"] = regInfo.RegionLocY.ToString(); 117 hash["y"] = regInfo.RegionLocY.ToString();
118 hash["size_x"] = regInfo.RegionSizeX.ToString();
119 hash["size_y"] = regInfo.RegionSizeY.ToString();
108 hash["region_name"] = regInfo.RegionName; 120 hash["region_name"] = regInfo.RegionName;
109 hash["hostname"] = regInfo.ExternalHostName; 121 hash["hostname"] = regInfo.ExternalHostName;
110 hash["http_port"] = regInfo.HttpPort.ToString(); 122 hash["http_port"] = regInfo.HttpPort.ToString();
111 hash["internal_port"] = regInfo.InternalEndPoint.Port.ToString(); 123 hash["internal_port"] = regInfo.InternalEndPoint.Port.ToString();
112 } 124 }
125
126 if (message != null)
127 hash["message"] = message;
128
113 XmlRpcResponse response = new XmlRpcResponse(); 129 XmlRpcResponse response = new XmlRpcResponse();
114 response.Value = hash; 130 response.Value = hash;
115 return response; 131 return response;
diff --git a/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs b/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs
index 7137836..e112e0e 100644
--- a/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs
+++ b/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs
@@ -99,8 +99,10 @@ namespace OpenSim.Server.Handlers.Hypergrid
99 server.AddXmlRPCHandler("verify_client", VerifyClient, false); 99 server.AddXmlRPCHandler("verify_client", VerifyClient, false);
100 server.AddXmlRPCHandler("logout_agent", LogoutAgent, false); 100 server.AddXmlRPCHandler("logout_agent", LogoutAgent, false);
101 101
102#pragma warning disable 0612
102 server.AddXmlRPCHandler("status_notification", StatusNotification, false); 103 server.AddXmlRPCHandler("status_notification", StatusNotification, false);
103 server.AddXmlRPCHandler("get_online_friends", GetOnlineFriends, false); 104 server.AddXmlRPCHandler("get_online_friends", GetOnlineFriends, false);
105#pragma warning restore 0612
104 server.AddXmlRPCHandler("get_user_info", GetUserInfo, false); 106 server.AddXmlRPCHandler("get_user_info", GetUserInfo, false);
105 server.AddXmlRPCHandler("get_server_urls", GetServerURLs, false); 107 server.AddXmlRPCHandler("get_server_urls", GetServerURLs, false);
106 108
@@ -132,6 +134,8 @@ namespace OpenSim.Server.Handlers.Hypergrid
132 hash["uuid"] = regInfo.RegionID.ToString(); 134 hash["uuid"] = regInfo.RegionID.ToString();
133 hash["x"] = regInfo.RegionLocX.ToString(); 135 hash["x"] = regInfo.RegionLocX.ToString();
134 hash["y"] = regInfo.RegionLocY.ToString(); 136 hash["y"] = regInfo.RegionLocY.ToString();
137 hash["size_x"] = regInfo.RegionSizeX.ToString();
138 hash["size_y"] = regInfo.RegionSizeY.ToString();
135 hash["region_name"] = regInfo.RegionName; 139 hash["region_name"] = regInfo.RegionName;
136 hash["hostname"] = regInfo.ExternalHostName; 140 hash["hostname"] = regInfo.ExternalHostName;
137 hash["http_port"] = regInfo.HttpPort.ToString(); 141 hash["http_port"] = regInfo.HttpPort.ToString();