diff options
author | Justin Clark-Casey (justincc) | 2015-03-04 17:43:00 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2015-03-04 18:27:50 +0000 |
commit | 7d3bafd5abf22f5c1ea3c3d8918d9b8177693bda (patch) | |
tree | e50126a4e6c23ac747bf0842774538dc731d2d85 /OpenSim/Region/ScriptEngine/Shared/Api/Implementation | |
parent | usability fixes for LSL API (diff) | |
download | opensim-SC-7d3bafd5abf22f5c1ea3c3d8918d9b8177693bda.zip opensim-SC-7d3bafd5abf22f5c1ea3c3d8918d9b8177693bda.tar.gz opensim-SC-7d3bafd5abf22f5c1ea3c3d8918d9b8177693bda.tar.bz2 opensim-SC-7d3bafd5abf22f5c1ea3c3d8918d9b8177693bda.tar.xz |
Add outbound URL filter to llHttpRequest() and osSetDynamicTextureURL*() script functions.
This is to address an issue where HTTP script functions could make calls to localhost and other endpoints inside the simulator's LAN.
By default, calls to all private addresses are now blocked as per http://en.wikipedia.org/wiki/Reserved_IP_addresses
If you require exceptions to this, configure [Network] OutboundDisallowForUserScriptsExcept in OpenSim.ini
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index d0a0b03..61756af 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -12240,8 +12240,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
12240 | } | 12240 | } |
12241 | } | 12241 | } |
12242 | 12242 | ||
12243 | HttpInitialRequestStatus status; | ||
12243 | UUID reqID | 12244 | UUID reqID |
12244 | = httpScriptMod.StartHttpRequest(m_host.LocalId, m_item.ItemID, url, param, httpHeaders, body); | 12245 | = httpScriptMod.StartHttpRequest(m_host.LocalId, m_item.ItemID, url, param, httpHeaders, body, out status); |
12246 | |||
12247 | if (status == HttpInitialRequestStatus.DISALLOWED_BY_FILTER) | ||
12248 | Error("llHttpRequest", string.Format("Request to {0} disallowed by filter", url)); | ||
12245 | 12249 | ||
12246 | if (reqID != UUID.Zero) | 12250 | if (reqID != UUID.Zero) |
12247 | return reqID.ToString(); | 12251 | return reqID.ToString(); |