aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorTom2011-05-26 03:42:01 -0700
committerTom2011-05-26 03:42:01 -0700
commitb000d9ba724ae12ae27c49dd94e36d4592bd6c26 (patch)
tree75ed29bca15665bd73a98a9b363bc0a122b5d050 /OpenSim/Region
parentIf a response cannot be obtained (the script has no handler) return a more fr... (diff)
downloadopensim-SC_OLD-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.zip
opensim-SC_OLD-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.tar.gz
opensim-SC_OLD-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.tar.bz2
opensim-SC_OLD-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.tar.xz
Some additional protection, it seems that responsedata needs to be locked, but I can't immediately see where it's being accessed from another thread. For now, this will protect the server
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs15
1 files changed, 13 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
index f6351ff..b6af1f2 100644
--- a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
@@ -491,10 +491,21 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
491 pathInfo = uri.Substring(pos3); 491 pathInfo = uri.Substring(pos3);
492 492
493 UrlData url = null; 493 UrlData url = null;
494 string urlkey;
494 if (!is_ssl) 495 if (!is_ssl)
495 url = m_UrlMap["http://" + m_ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + uri_tmp]; 496 urlkey = "http://" + m_ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + uri_tmp;
497 //m_UrlMap[];
496 else 498 else
497 url = m_UrlMap["https://" + m_ExternalHostNameForLSL + ":" + m_HttpsServer.Port.ToString() + uri_tmp]; 499 urlkey = "https://" + m_ExternalHostNameForLSL + ":" + m_HttpsServer.Port.ToString() + uri_tmp;
500
501 if (m_UrlMap.ContainsKey(urlkey))
502 {
503 url = m_UrlMap[urlkey];
504 }
505 else
506 {
507 m_log.Warn("[HttpRequestHandler]: http-in request failed; no such url: "+urlkey.ToString());
508 }
498 509
499 //for llGetHttpHeader support we need to store original URI here 510 //for llGetHttpHeader support we need to store original URI here
500 //to make x-path-info / x-query-string / x-script-url / x-remote-ip headers 511 //to make x-path-info / x-query-string / x-script-url / x-remote-ip headers