diff options
| author | Maestro Linden <maestro@lindenlab.com> | 2012-11-14 02:24:58 +0000 |
|---|---|---|
| committer | Maestro Linden <maestro@lindenlab.com> | 2012-11-14 02:24:58 +0000 |
| commit | a567c425cab9b7aff8acee11aaf3470187675271 (patch) | |
| tree | 3e57c214457ee73edc4ea1f2ee61cbaba9931b49 /indra/llwindow/llwindowsdl.cpp | |
| parent | ccad8c9411977287f1c42b288bf796308de81094 (diff) | |
MAINT-536 MAINT-1913 Added missing URL scheme filtering to the Linux viewer, changed URL scheme whitelist. Reviewed by Callum.
Diffstat (limited to 'indra/llwindow/llwindowsdl.cpp')
| -rw-r--r-- | indra/llwindow/llwindowsdl.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp index 3bf4a48cb6..5afe0b0953 100644 --- a/indra/llwindow/llwindowsdl.cpp +++ b/indra/llwindow/llwindowsdl.cpp @@ -2516,6 +2516,23 @@ void exec_cmd(const std::string& cmd, const std::string& arg) // Must begin with protocol identifier. void LLWindowSDL::spawnWebBrowser(const std::string& escaped_url, bool async) { + bool found = false; + S32 i; + for (i = 0; i < gURLProtocolWhitelistCount; i++) + { + if (escaped_url.find(gURLProtocolWhitelist[i]) != std::string::npos) + { + found = true; + break; + } + } + + if (!found) + { + llwarns << "spawn_web_browser called for url with protocol not on whitelist: " << escaped_url << llendl; + return; + } + llinfos << "spawn_web_browser: " << escaped_url << llendl; #if LL_LINUX || LL_SOLARIS |
