summaryrefslogtreecommitdiff
path: root/indra/llmessage/lltemplatemessagereader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llmessage/lltemplatemessagereader.cpp')
-rw-r--r--indra/llmessage/lltemplatemessagereader.cpp30
1 files changed, 25 insertions, 5 deletions
diff --git a/indra/llmessage/lltemplatemessagereader.cpp b/indra/llmessage/lltemplatemessagereader.cpp
index f64a096b3e..d635844ee5 100644
--- a/indra/llmessage/lltemplatemessagereader.cpp
+++ b/indra/llmessage/lltemplatemessagereader.cpp
@@ -755,18 +755,38 @@ BOOL LLTemplateMessageReader::decodeData(const U8* buffer, const LLHost& sender
BOOL LLTemplateMessageReader::validateMessage(const U8* buffer,
S32 buffer_size,
- const LLHost& sender)
+ const LLHost& sender,
+ bool trusted)
{
mReceiveSize = buffer_size;
- BOOL result = decodeTemplate(buffer, buffer_size, &mCurrentRMessageTemplate );
- if(result)
+ BOOL valid = decodeTemplate(buffer, buffer_size, &mCurrentRMessageTemplate );
+ if(valid)
{
mCurrentRMessageTemplate->mReceiveCount++;
- //lldebugs << "MessageRecvd:"
+ //lldebugs << "MessageRecvd:"
// << mCurrentRMessageTemplate->mName
// << " from " << sender << llendl;
}
- return result;
+
+ if (valid && isBanned(trusted))
+ {
+ LL_WARNS("Messaging") << "LLMessageSystem::checkMessages "
+ << "received banned message "
+ << getMessageName()
+ << " from "
+ << ((trusted) ? "trusted " : "untrusted ")
+ << sender << llendl;
+ valid = FALSE;
+ }
+
+ if(valid && isUdpBanned())
+ {
+ llwarns << "Received UDP black listed message "
+ << getMessageName()
+ << " from " << sender << llendl;
+ valid = FALSE;
+ }
+ return valid;
}
BOOL LLTemplateMessageReader::readMessage(const U8* buffer,