diff options
Diffstat (limited to 'OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs')
-rw-r--r-- | OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs b/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs index 1bd3706..7348368 100644 --- a/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs +++ b/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs | |||
@@ -96,6 +96,7 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
96 | 96 | ||
97 | server.AddXmlRPCHandler("locate_user", LocateUser, false); | 97 | server.AddXmlRPCHandler("locate_user", LocateUser, false); |
98 | server.AddXmlRPCHandler("get_uui", GetUUI, false); | 98 | server.AddXmlRPCHandler("get_uui", GetUUI, false); |
99 | server.AddXmlRPCHandler("get_uuid", GetUUID, false); | ||
99 | 100 | ||
100 | server.AddHTTPHandler("/homeagent/", new HomeAgentHandler(m_HomeUsersService, loginServerIP, proxy).Handler); | 101 | server.AddHTTPHandler("/homeagent/", new HomeAgentHandler(m_HomeUsersService, loginServerIP, proxy).Handler); |
101 | } | 102 | } |
@@ -410,8 +411,7 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
410 | } | 411 | } |
411 | 412 | ||
412 | /// <summary> | 413 | /// <summary> |
413 | /// Locates the user. | 414 | /// Returns the UUI of a user given a UUID. |
414 | /// This is a sensitive operation, only authorized IP addresses can perform it. | ||
415 | /// </summary> | 415 | /// </summary> |
416 | /// <param name="request"></param> | 416 | /// <param name="request"></param> |
417 | /// <param name="remoteClient"></param> | 417 | /// <param name="remoteClient"></param> |
@@ -445,5 +445,33 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
445 | 445 | ||
446 | } | 446 | } |
447 | 447 | ||
448 | /// <summary> | ||
449 | /// Gets the UUID of a user given First name, Last name. | ||
450 | /// </summary> | ||
451 | /// <param name="request"></param> | ||
452 | /// <param name="remoteClient"></param> | ||
453 | /// <returns></returns> | ||
454 | public XmlRpcResponse GetUUID(XmlRpcRequest request, IPEndPoint remoteClient) | ||
455 | { | ||
456 | Hashtable hash = new Hashtable(); | ||
457 | |||
458 | Hashtable requestData = (Hashtable)request.Params[0]; | ||
459 | //string host = (string)requestData["host"]; | ||
460 | //string portstr = (string)requestData["port"]; | ||
461 | if (requestData.ContainsKey("first") && requestData.ContainsKey("last")) | ||
462 | { | ||
463 | UUID userID = UUID.Zero; | ||
464 | string first = (string)requestData["first"]; | ||
465 | |||
466 | string last = (string)requestData["last"]; | ||
467 | UUID uuid = m_HomeUsersService.GetUUID(first, last); | ||
468 | hash["UUID"] = uuid.ToString(); | ||
469 | } | ||
470 | |||
471 | XmlRpcResponse response = new XmlRpcResponse(); | ||
472 | response.Value = hash; | ||
473 | return response; | ||
474 | |||
475 | } | ||
448 | } | 476 | } |
449 | } | 477 | } |