From 74d86adc515f3cbaa712165ca8070cf4d694c82c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 15 Mar 2021 15:40:47 +0000 Subject: [PATCH] make invalid llhttpRequest custom header a hard error --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 98479dbe92..5c526706e8 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -14299,16 +14299,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (m_checkuri.Scheme != Uri.UriSchemeHttp && m_checkuri.Scheme != Uri.UriSchemeHttps) { Error("llHTTPRequest", "Invalid url schema"); - ScriptSleep(200); return string.Empty; } } catch { Error("llHTTPRequest", "Invalid url"); - ScriptSleep(200); return string.Empty; } + List param = new List(); bool ok; int nCustomHeaders = 0; @@ -14320,6 +14319,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api flag > (int)HttpRequestConstants.HTTP_PRAGMA_NO_CACHE) { Error("llHTTPRequest", "Parameter " + i.ToString() + " is an invalid flag"); + ScriptSleep(200); + return string.Empty; } param.Add(parameters.Data[i].ToString()); //Add parameter flag @@ -14354,7 +14355,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } if (HttpStandardHeaders.Contains(parameters.Data[i].ToString())) + { Error("llHTTPRequest", "Name is invalid as a custom header at parameter " + i.ToString()); + return string.Empty; + } param.Add(parameters.Data[i].ToString()); param.Add(parameters.Data[i+1].ToString());