aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Server/Handlers/Login/LLLoginHandlers.cs19
1 files changed, 15 insertions, 4 deletions
diff --git a/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs b/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs
index 48f5f99..8048f86 100644
--- a/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs
+++ b/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs
@@ -74,12 +74,23 @@ namespace OpenSim.Server.Handlers.Login
74 if (requestData != null) 74 if (requestData != null)
75 { 75 {
76 if (requestData.ContainsKey("first") && requestData["first"] != null && 76 if (requestData.ContainsKey("first") && requestData["first"] != null &&
77 requestData.ContainsKey("last") && requestData["last"] != null && 77 requestData.ContainsKey("last") && requestData["last"] != null && (
78 requestData.ContainsKey("passwd") && requestData["passwd"] != null) 78 (requestData.ContainsKey("passwd") && requestData["passwd"] != null) ||
79 (!requestData.ContainsKey("passwd") && requestData.ContainsKey("web_login_key") && requestData["web_login_key"] != null && requestData["web_login_key"].ToString() != UUID.Zero.ToString())
80 ))
79 { 81 {
80 string first = requestData["first"].ToString(); 82 string first = requestData["first"].ToString();
81 string last = requestData["last"].ToString(); 83 string last = requestData["last"].ToString();
82 string passwd = requestData["passwd"].ToString(); 84 string passwd = null;
85 if (requestData.ContainsKey("passwd"))
86 {
87 passwd = requestData["passwd"].ToString();
88 }
89 else if (requestData.ContainsKey("web_login_key"))
90 {
91 passwd = "$1$" + requestData["web_login_key"].ToString();
92 m_log.InfoFormat("[LOGIN]: XMLRPC Login Req key {0}", passwd);
93 }
83 string startLocation = string.Empty; 94 string startLocation = string.Empty;
84 UUID scopeID = UUID.Zero; 95 UUID scopeID = UUID.Zero;
85 if (requestData["scope_id"] != null) 96 if (requestData["scope_id"] != null)
@@ -103,7 +114,7 @@ namespace OpenSim.Server.Handlers.Login
103 string id0 = "Unknown"; 114 string id0 = "Unknown";
104 if (requestData.Contains("id0") && requestData["id0"] != null) 115 if (requestData.Contains("id0") && requestData["id0"] != null)
105 id0 = requestData["id0"].ToString(); 116 id0 = requestData["id0"].ToString();
106 117
107 //m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion); 118 //m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion);
108 119
109 LoginResponse reply = null; 120 LoginResponse reply = null;