summaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ChatHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/ChatHandler.cpp')
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp35
1 files changed, 3 insertions, 32 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index d301b81d99..df7e5c6879 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -304,20 +304,6 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
SendNotification(GetAcoreString(LANG_WAIT_BEFORE_SPEAKING), timeStr.c_str());
return;
}
-
- if (lang != LANG_ADDON)
- {
- if (sWorld->getIntConfig(CONFIG_CHAT_STRICT_LINK_CHECKING_SEVERITY) && !ChatHandler(this).isValidChatMessage(msg.c_str()))
- {
- //LOG_ERROR("network.opcode", "Player %s (%s) sent a chatmessage with an invalid link: %s", GetPlayer()->GetName().c_str(),
- // GetPlayer()->GetGUID().ToString().c_str(), msg.c_str());
-
- if (sWorld->getIntConfig(CONFIG_CHAT_STRICT_LINK_CHECKING_KICK))
- KickPlayer("CONFIG_CHAT_STRICT_LINK_CHECKING_KICK");
-
- return;
- }
- }
}
// do message validity checks
@@ -352,29 +338,14 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
auto end = std::unique(msg.begin(), msg.end(), [](char c1, char c2) { return (c1 == ' ') && (c2 == ' '); });
msg.erase(end, msg.end());
}
- }
- // exploit
- size_t found1 = msg.find("|Hquest");
- if (found1 != std::string::npos)
- {
- size_t found2 = msg.find(":", found1 + 8);
- size_t found3 = msg.find("|", found1 + 8);
- if (found3 != std::string::npos)
+ // Validate hyperlinks
+ if (!ValidateHyperlinksAndMaybeKick(msg))
{
- if (found2 == std::string::npos)
- return;
- if (found2 > found3)
- return;
+ return;
}
}
- // prevent crash player
- if (msg.find("| |Hquest") != std::string::npos)
- {
- return;
- }
-
sScriptMgr->OnBeforeSendChatMessage(_player, type, lang, msg);
switch (type)