diff options
Diffstat (limited to 'OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs')
-rw-r--r-- | OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs b/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs index 1bd3706..db62aaa 100644 --- a/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs +++ b/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs | |||
@@ -52,6 +52,11 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
52 | // MethodBase.GetCurrentMethod().DeclaringType); | 52 | // MethodBase.GetCurrentMethod().DeclaringType); |
53 | 53 | ||
54 | private IUserAgentService m_HomeUsersService; | 54 | private IUserAgentService m_HomeUsersService; |
55 | public IUserAgentService HomeUsersService | ||
56 | { | ||
57 | get { return m_HomeUsersService; } | ||
58 | } | ||
59 | |||
55 | private string[] m_AuthorizedCallers; | 60 | private string[] m_AuthorizedCallers; |
56 | 61 | ||
57 | private bool m_VerifyCallers = false; | 62 | private bool m_VerifyCallers = false; |
@@ -96,6 +101,7 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
96 | 101 | ||
97 | server.AddXmlRPCHandler("locate_user", LocateUser, false); | 102 | server.AddXmlRPCHandler("locate_user", LocateUser, false); |
98 | server.AddXmlRPCHandler("get_uui", GetUUI, false); | 103 | server.AddXmlRPCHandler("get_uui", GetUUI, false); |
104 | server.AddXmlRPCHandler("get_uuid", GetUUID, false); | ||
99 | 105 | ||
100 | server.AddHTTPHandler("/homeagent/", new HomeAgentHandler(m_HomeUsersService, loginServerIP, proxy).Handler); | 106 | server.AddHTTPHandler("/homeagent/", new HomeAgentHandler(m_HomeUsersService, loginServerIP, proxy).Handler); |
101 | } | 107 | } |
@@ -216,6 +222,7 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
216 | 222 | ||
217 | } | 223 | } |
218 | 224 | ||
225 | [Obsolete] | ||
219 | public XmlRpcResponse StatusNotification(XmlRpcRequest request, IPEndPoint remoteClient) | 226 | public XmlRpcResponse StatusNotification(XmlRpcRequest request, IPEndPoint remoteClient) |
220 | { | 227 | { |
221 | Hashtable hash = new Hashtable(); | 228 | Hashtable hash = new Hashtable(); |
@@ -410,8 +417,7 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
410 | } | 417 | } |
411 | 418 | ||
412 | /// <summary> | 419 | /// <summary> |
413 | /// Locates the user. | 420 | /// Returns the UUI of a user given a UUID. |
414 | /// This is a sensitive operation, only authorized IP addresses can perform it. | ||
415 | /// </summary> | 421 | /// </summary> |
416 | /// <param name="request"></param> | 422 | /// <param name="request"></param> |
417 | /// <param name="remoteClient"></param> | 423 | /// <param name="remoteClient"></param> |
@@ -445,5 +451,33 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
445 | 451 | ||
446 | } | 452 | } |
447 | 453 | ||
454 | /// <summary> | ||
455 | /// Gets the UUID of a user given First name, Last name. | ||
456 | /// </summary> | ||
457 | /// <param name="request"></param> | ||
458 | /// <param name="remoteClient"></param> | ||
459 | /// <returns></returns> | ||
460 | public XmlRpcResponse GetUUID(XmlRpcRequest request, IPEndPoint remoteClient) | ||
461 | { | ||
462 | Hashtable hash = new Hashtable(); | ||
463 | |||
464 | Hashtable requestData = (Hashtable)request.Params[0]; | ||
465 | //string host = (string)requestData["host"]; | ||
466 | //string portstr = (string)requestData["port"]; | ||
467 | if (requestData.ContainsKey("first") && requestData.ContainsKey("last")) | ||
468 | { | ||
469 | UUID userID = UUID.Zero; | ||
470 | string first = (string)requestData["first"]; | ||
471 | |||
472 | string last = (string)requestData["last"]; | ||
473 | UUID uuid = m_HomeUsersService.GetUUID(first, last); | ||
474 | hash["UUID"] = uuid.ToString(); | ||
475 | } | ||
476 | |||
477 | XmlRpcResponse response = new XmlRpcResponse(); | ||
478 | response.Value = hash; | ||
479 | return response; | ||
480 | |||
481 | } | ||
448 | } | 482 | } |
449 | } | 483 | } |