diff options
Diffstat (limited to 'OpenSim/Framework/Servers/BaseHttpServer.cs')
-rw-r--r-- | OpenSim/Framework/Servers/BaseHttpServer.cs | 66 |
1 files changed, 40 insertions, 26 deletions
diff --git a/OpenSim/Framework/Servers/BaseHttpServer.cs b/OpenSim/Framework/Servers/BaseHttpServer.cs index d865ae8..7af1716 100644 --- a/OpenSim/Framework/Servers/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/BaseHttpServer.cs | |||
@@ -97,7 +97,7 @@ namespace OpenSim.Framework.Servers | |||
97 | 97 | ||
98 | HttpListenerRequest request = context.Request; | 98 | HttpListenerRequest request = context.Request; |
99 | HttpListenerResponse response = context.Response; | 99 | HttpListenerResponse response = context.Response; |
100 | 100 | ||
101 | 101 | ||
102 | response.KeepAlive = false; | 102 | response.KeepAlive = false; |
103 | response.SendChunked = false; | 103 | response.SendChunked = false; |
@@ -192,15 +192,12 @@ namespace OpenSim.Framework.Servers | |||
192 | MainLog.Instance.Error("XML", responseString); | 192 | MainLog.Instance.Error("XML", responseString); |
193 | string[] querystringkeys = request.QueryString.AllKeys; | 193 | string[] querystringkeys = request.QueryString.AllKeys; |
194 | string[] rHeaders = request.Headers.AllKeys; | 194 | string[] rHeaders = request.Headers.AllKeys; |
195 | |||
196 | |||
197 | 195 | ||
198 | 196 | ||
199 | foreach (string queryname in querystringkeys) | 197 | foreach (string queryname in querystringkeys) |
200 | { | 198 | { |
201 | keysvals.Add(queryname, request.QueryString[queryname]); | 199 | keysvals.Add(queryname, request.QueryString[queryname]); |
202 | MainLog.Instance.Warn("HTTP", queryname + "=" + request.QueryString[queryname]); | 200 | MainLog.Instance.Warn("HTTP", queryname + "=" + request.QueryString[queryname]); |
203 | |||
204 | } | 201 | } |
205 | foreach (string headername in rHeaders) | 202 | foreach (string headername in rHeaders) |
206 | { | 203 | { |
@@ -218,7 +215,6 @@ namespace OpenSim.Framework.Servers | |||
218 | string methodName = xmlRprcRequest.MethodName; | 215 | string methodName = xmlRprcRequest.MethodName; |
219 | if (methodName != null) | 216 | if (methodName != null) |
220 | { | 217 | { |
221 | |||
222 | XmlRpcResponse xmlRpcResponse; | 218 | XmlRpcResponse xmlRpcResponse; |
223 | 219 | ||
224 | XmlRpcMethod method; | 220 | XmlRpcMethod method; |
@@ -241,8 +237,8 @@ namespace OpenSim.Framework.Servers | |||
241 | } | 237 | } |
242 | else | 238 | else |
243 | { | 239 | { |
244 | System.Console.WriteLine("Handler not found for http request " +request.RawUrl); | 240 | System.Console.WriteLine("Handler not found for http request " + request.RawUrl); |
245 | responseString = "Error"; | 241 | responseString = "Error"; |
246 | } | 242 | } |
247 | } | 243 | } |
248 | 244 | ||
@@ -266,7 +262,8 @@ namespace OpenSim.Framework.Servers | |||
266 | response.OutputStream.Close(); | 262 | response.OutputStream.Close(); |
267 | } | 263 | } |
268 | } | 264 | } |
269 | public void HandleHTTPRequest(Hashtable keysvals, HttpListenerRequest request, HttpListenerResponse response) | 265 | |
266 | public void HandleHTTPRequest(Hashtable keysvals, HttpListenerRequest request, HttpListenerResponse response) | ||
270 | { | 267 | { |
271 | // This is a test. There's a workable alternative.. as this way sucks. | 268 | // This is a test. There's a workable alternative.. as this way sucks. |
272 | // We'd like to put this into a text file parhaps that's easily editable. | 269 | // We'd like to put this into a text file parhaps that's easily editable. |
@@ -280,12 +277,14 @@ namespace OpenSim.Framework.Servers | |||
280 | // to display the form, or process it. | 277 | // to display the form, or process it. |
281 | // a better way would be nifty. | 278 | // a better way would be nifty. |
282 | 279 | ||
283 | if ((string)keysvals["show_login_form"] == "TRUE") | 280 | if ((string) keysvals["show_login_form"] == "TRUE") |
284 | { | 281 | { |
285 | string responseString = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"; | 282 | string responseString = |
283 | "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"; | ||
286 | responseString = responseString + "<html xmlns=\"http://www.w3.org/1999/xhtml\">"; | 284 | responseString = responseString + "<html xmlns=\"http://www.w3.org/1999/xhtml\">"; |
287 | responseString = responseString + "<head>"; | 285 | responseString = responseString + "<head>"; |
288 | responseString = responseString + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"; | 286 | responseString = responseString + |
287 | "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"; | ||
289 | responseString = responseString + "<meta http-equiv=\"cache-control\" content=\"no-cache\">"; | 288 | responseString = responseString + "<meta http-equiv=\"cache-control\" content=\"no-cache\">"; |
290 | responseString = responseString + "<meta http-equiv=\"Pragma\" content=\"no-cache\">"; | 289 | responseString = responseString + "<meta http-equiv=\"Pragma\" content=\"no-cache\">"; |
291 | responseString = responseString + "<title>Second Life Login</title>"; | 290 | responseString = responseString + "<title>Second Life Login</title>"; |
@@ -299,37 +298,50 @@ namespace OpenSim.Framework.Servers | |||
299 | responseString = responseString + "</div>"; | 298 | responseString = responseString + "</div>"; |
300 | responseString = responseString + "<fieldset id=\"firstname\">"; | 299 | responseString = responseString + "<fieldset id=\"firstname\">"; |
301 | responseString = responseString + "<legend>First Name:</legend>"; | 300 | responseString = responseString + "<legend>First Name:</legend>"; |
302 | responseString = responseString + "<input type=\"text\" id=\"firstname_input\" size=\"15\" maxlength=\"100\" name=\"username\" value=\"" + keysvals["username"] + "\" />"; | 301 | responseString = responseString + |
302 | "<input type=\"text\" id=\"firstname_input\" size=\"15\" maxlength=\"100\" name=\"username\" value=\"" + | ||
303 | keysvals["username"] + "\" />"; | ||
303 | responseString = responseString + "</fieldset>"; | 304 | responseString = responseString + "</fieldset>"; |
304 | responseString = responseString + "<fieldset id=\"lastname\">"; | 305 | responseString = responseString + "<fieldset id=\"lastname\">"; |
305 | responseString = responseString + "<legend>Last Name:</legend>"; | 306 | responseString = responseString + "<legend>Last Name:</legend>"; |
306 | responseString = responseString + "<input type=\"text\" size=\"15\" maxlength=\"100\" name=\"lastname\" value=\"" + keysvals["lastname"] + "\" />"; | 307 | responseString = responseString + |
308 | "<input type=\"text\" size=\"15\" maxlength=\"100\" name=\"lastname\" value=\"" + | ||
309 | keysvals["lastname"] + "\" />"; | ||
307 | responseString = responseString + "</fieldset>"; | 310 | responseString = responseString + "</fieldset>"; |
308 | responseString = responseString + "<fieldset id=\"password\">"; | 311 | responseString = responseString + "<fieldset id=\"password\">"; |
309 | responseString = responseString + "<legend>Password:</legend>"; | 312 | responseString = responseString + "<legend>Password:</legend>"; |
310 | responseString = responseString + "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">"; | 313 | responseString = responseString + "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">"; |
311 | responseString = responseString + "<tr>"; | 314 | responseString = responseString + "<tr>"; |
312 | responseString = responseString + "<td colspan=\"2\"><input type=\"password\" size=\"15\" maxlength=\"100\" name=\"password\" value=\"" + keysvals["password"] + "\" /></td>"; | 315 | responseString = responseString + |
316 | "<td colspan=\"2\"><input type=\"password\" size=\"15\" maxlength=\"100\" name=\"password\" value=\"" + | ||
317 | keysvals["password"] + "\" /></td>"; | ||
313 | responseString = responseString + "</tr>"; | 318 | responseString = responseString + "</tr>"; |
314 | responseString = responseString + "<tr>"; | 319 | responseString = responseString + "<tr>"; |
315 | responseString = responseString + "<td valign=\"middle\"><input type=\"checkbox\" name=\"remember_password\" id=\"remember_password\" value=\"" + keysvals["remember_password"] + "\" checked style=\"margin-left:0px;\"/></td>"; | 320 | responseString = responseString + |
321 | "<td valign=\"middle\"><input type=\"checkbox\" name=\"remember_password\" id=\"remember_password\" value=\"" + | ||
322 | keysvals["remember_password"] + "\" checked style=\"margin-left:0px;\"/></td>"; | ||
316 | responseString = responseString + "<td><label for=\"remember_password\">Remember password</label></td>"; | 323 | responseString = responseString + "<td><label for=\"remember_password\">Remember password</label></td>"; |
317 | responseString = responseString + "</tr>"; | 324 | responseString = responseString + "</tr>"; |
318 | responseString = responseString + "</table>"; | 325 | responseString = responseString + "</table>"; |
319 | responseString = responseString + "</fieldset>"; | 326 | responseString = responseString + "</fieldset>"; |
320 | responseString = responseString + "<input type=\"hidden\" name=\"show_login_form\" value=\"FALSE\" />"; | 327 | responseString = responseString + "<input type=\"hidden\" name=\"show_login_form\" value=\"FALSE\" />"; |
321 | responseString = responseString + "<input type=\"hidden\" id=\"grid\" name=\"grid\" value=\"" + keysvals["grid"] + "\" />"; | 328 | responseString = responseString + "<input type=\"hidden\" id=\"grid\" name=\"grid\" value=\"" + |
329 | keysvals["grid"] + "\" />"; | ||
322 | responseString = responseString + "<div id=\"submitbtn\">"; | 330 | responseString = responseString + "<div id=\"submitbtn\">"; |
323 | responseString = responseString + "<input class=\"input_over\" type=\"submit\" value=\"Connect\" />"; | 331 | responseString = responseString + "<input class=\"input_over\" type=\"submit\" value=\"Connect\" />"; |
324 | responseString = responseString + "</div>"; | 332 | responseString = responseString + "</div>"; |
325 | responseString = responseString + "<div id=\"connecting\" style=\"visibility:hidden\"><img src=\"/_img/sl_logo_rotate_black.gif\" align=\"absmiddle\"> Connecting...</div>"; | 333 | responseString = responseString + |
334 | "<div id=\"connecting\" style=\"visibility:hidden\"><img src=\"/_img/sl_logo_rotate_black.gif\" align=\"absmiddle\"> Connecting...</div>"; | ||
326 | 335 | ||
327 | responseString = responseString + "<div id=\"helplinks\">"; | 336 | responseString = responseString + "<div id=\"helplinks\">"; |
328 | responseString = responseString + "<a href=\"http://www.secondlife.com/join/index.php\" target=\"_blank\">Create new account</a> | "; | 337 | responseString = responseString + |
329 | responseString = responseString + "<a href=\"http://www.secondlife.com/account/request.php\" target=\"_blank\">Forgot password?</a>"; | 338 | "<a href=\"http://www.secondlife.com/join/index.php\" target=\"_blank\">Create new account</a> | "; |
339 | responseString = responseString + | ||
340 | "<a href=\"http://www.secondlife.com/account/request.php\" target=\"_blank\">Forgot password?</a>"; | ||
330 | responseString = responseString + "</div>"; | 341 | responseString = responseString + "</div>"; |
331 | 342 | ||
332 | responseString = responseString + "<div id=\"channelinfo\"> " + keysvals["channel"] + " | " + keysvals["version"] + "=" + keysvals["lang"] + "</div>"; | 343 | responseString = responseString + "<div id=\"channelinfo\"> " + keysvals["channel"] + " | " + |
344 | keysvals["version"] + "=" + keysvals["lang"] + "</div>"; | ||
333 | responseString = responseString + "</form>"; | 345 | responseString = responseString + "</form>"; |
334 | responseString = responseString + "<script language=\"JavaScript\">"; | 346 | responseString = responseString + "<script language=\"JavaScript\">"; |
335 | responseString = responseString + "document.getElementById('firstname_input').focus();"; | 347 | responseString = responseString + "document.getElementById('firstname_input').focus();"; |
@@ -359,7 +371,7 @@ namespace OpenSim.Framework.Servers | |||
359 | } | 371 | } |
360 | } // show_login_form == "TRUE" | 372 | } // show_login_form == "TRUE" |
361 | else | 373 | else |
362 | { | 374 | { |
363 | // show_login_form is present but FALSE | 375 | // show_login_form is present but FALSE |
364 | // | 376 | // |
365 | // The idea here is that we're telling the client to log in immediately here using the following information | 377 | // The idea here is that we're telling the client to log in immediately here using the following information |
@@ -371,12 +383,14 @@ namespace OpenSim.Framework.Servers | |||
371 | // | 383 | // |
372 | 384 | ||
373 | response.StatusCode = 301; | 385 | response.StatusCode = 301; |
374 | response.RedirectLocation = "secondlife:///app/login?first_name=" + keysvals["username"] + "&last_name=" + keysvals["lastname"] + "&location=home&grid=Other&web_login_key=796f2b2a-0131-41e4-af12-00f60c24c458"; | 386 | response.RedirectLocation = "secondlife:///app/login?first_name=" + keysvals["username"] + "&last_name=" + |
375 | 387 | keysvals["lastname"] + | |
388 | "&location=home&grid=Other&web_login_key=796f2b2a-0131-41e4-af12-00f60c24c458"; | ||
389 | |||
376 | response.OutputStream.Close(); | 390 | response.OutputStream.Close(); |
377 | } // show_login_form == "FALSE" | 391 | } // show_login_form == "FALSE" |
378 | |||
379 | } | 392 | } |
393 | |||
380 | public void Start() | 394 | public void Start() |
381 | { | 395 | { |
382 | MainLog.Instance.Verbose("HTTPD", "Starting up HTTP Server"); | 396 | MainLog.Instance.Verbose("HTTPD", "Starting up HTTP Server"); |
@@ -422,4 +436,4 @@ namespace OpenSim.Framework.Servers | |||
422 | m_streamHandlers.Remove(GetHandlerKey(httpMethod, path)); | 436 | m_streamHandlers.Remove(GetHandlerKey(httpMethod, path)); |
423 | } | 437 | } |
424 | } | 438 | } |
425 | } | 439 | } \ No newline at end of file |