aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs')
-rw-r--r--OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs37
1 files changed, 35 insertions, 2 deletions
diff --git a/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs b/OpenSim/Server/Handlers/Hypergrid/UserAgentServerConnector.cs
index 1bd3706..9a0e27e 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 }
@@ -410,8 +416,7 @@ namespace OpenSim.Server.Handlers.Hypergrid
410 } 416 }
411 417
412 /// <summary> 418 /// <summary>
413 /// Locates the user. 419 /// Returns the UUI of a user given a UUID.
414 /// This is a sensitive operation, only authorized IP addresses can perform it.
415 /// </summary> 420 /// </summary>
416 /// <param name="request"></param> 421 /// <param name="request"></param>
417 /// <param name="remoteClient"></param> 422 /// <param name="remoteClient"></param>
@@ -445,5 +450,33 @@ namespace OpenSim.Server.Handlers.Hypergrid
445 450
446 } 451 }
447 452
453 /// <summary>
454 /// Gets the UUID of a user given First name, Last name.
455 /// </summary>
456 /// <param name="request"></param>
457 /// <param name="remoteClient"></param>
458 /// <returns></returns>
459 public XmlRpcResponse GetUUID(XmlRpcRequest request, IPEndPoint remoteClient)
460 {
461 Hashtable hash = new Hashtable();
462
463 Hashtable requestData = (Hashtable)request.Params[0];
464 //string host = (string)requestData["host"];
465 //string portstr = (string)requestData["port"];
466 if (requestData.ContainsKey("first") && requestData.ContainsKey("last"))
467 {
468 UUID userID = UUID.Zero;
469 string first = (string)requestData["first"];
470
471 string last = (string)requestData["last"];
472 UUID uuid = m_HomeUsersService.GetUUID(first, last);
473 hash["UUID"] = uuid.ToString();
474 }
475
476 XmlRpcResponse response = new XmlRpcResponse();
477 response.Value = hash;
478 return response;
479
480 }
448 } 481 }
449} 482}