From bdd1017d0d553bf0559eb9b59a9b6dbda1d5ca71 Mon Sep 17 00:00:00 2001 From: Ardy Lay <none@none> Date: Mon, 30 Aug 2010 14:18:48 -0500 Subject: [PATCH] [mq]: VWR-19499-AppUriChatLimit --- doc/contributions.txt | 2 ++ indra/newview/llchatbar.cpp | 29 +++++++++++++++++++++++----- indra/newview/llnearbychatbar.cpp | 32 +++++++++++++++++++++++-------- 3 files changed, 50 insertions(+), 13 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index fa2737a4791..6edb727682a 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -120,6 +120,8 @@ Angus Boyd VWR-592 Ann Congrejo CT-193 +Ardy Lay + VWR-19499 Argent Stonecutter VWR-68 Armin Weatherwax diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp index 967db212447..7d82ec3a71e 100644 --- a/indra/newview/llchatbar.cpp +++ b/indra/newview/llchatbar.cpp @@ -673,11 +673,30 @@ class LLChatHandler : public LLCommandHandler bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) { - if (tokens.size() < 2) return false; - S32 channel = tokens[0].asInteger(); - std::string mesg = tokens[1].asString(); - send_chat_from_viewer(mesg, CHAT_TYPE_NORMAL, channel); - return true; + bool retval = false; + // Need at least 2 tokens to have a valid message. + if (tokens.size() < 2) + { + retval = false; + } + else + { + S32 channel = tokens[0].asInteger(); + // VWR-19499 Restrict function to chat channels greater than 0. + if ((channel > 0) && (channel < 2147483647)) + { + retval = true; + // Say mesg on channel + std::string mesg = tokens[1].asString(); + send_chat_from_viewer(mesg, CHAT_TYPE_NORMAL, channel); + } + else + { + retval = false; + // Tell us this is an unsupported SLurl. + } + } + return retval; } }; diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 4f9845d7042..43630c13fd7 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -865,14 +865,30 @@ class LLChatHandler : public LLCommandHandler bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) { - if (tokens.size() < 2) return false; - S32 channel = tokens[0].asInteger(); - - // Send unescaped message, see EXT-6353. - std::string unescaped_mesg (LLURI::unescape(tokens[1].asString())); - - send_chat_from_viewer(unescaped_mesg, CHAT_TYPE_NORMAL, channel); - return true; + bool retval = false; + // Need at least 2 tokens to have a valid message. + if (tokens.size() < 2) + { + retval = false; + } + else + { + S32 channel = tokens[0].asInteger(); + // VWR-19499 Restrict function to chat channels greater than 0. + if ((channel > 0) && (channel < 2147483647)) + { + retval = true; + // Send unescaped message, see EXT-6353. + std::string unescaped_mesg (LLURI::unescape(tokens[1].asString())); + send_chat_from_viewer(unescaped_mesg, CHAT_TYPE_NORMAL, channel); + } + else + { + retval = false; + // Tell us this is an unsupported SLurl. + } + } + return retval; } }; -- GitLab