diff options
author | Tom | 2011-05-26 03:42:01 -0700 |
---|---|---|
committer | Tom | 2011-05-26 03:42:01 -0700 |
commit | b000d9ba724ae12ae27c49dd94e36d4592bd6c26 (patch) | |
tree | 75ed29bca15665bd73a98a9b363bc0a122b5d050 /OpenSim/Region/CoreModules | |
parent | If a response cannot be obtained (the script has no handler) return a more fr... (diff) | |
download | opensim-SC-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.zip opensim-SC-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.tar.gz opensim-SC-b000d9ba724ae12ae27c49dd94e36d4592bd6c26.tar.bz2 opensim-SC-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/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs | 15 |
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 |