diff options
Diffstat (limited to 'OpenSim/Server/Handlers/Hypergrid')
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(); |