summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2017-06-16 18:08:40 +0100
committerPeter Powell <petpow@saberuk.com>2017-06-16 18:20:34 +0100
commitb105e9366b0d8fc3b6ee41942cc2a3518e24bc21 (patch)
tree953633015221b64e7b81517b6dba88825f8336fa
parentb7facc2474ff5fb229c66ed130ed67207620f55d (diff)
Fix exempting CTCP ACTIONs in m_blockcaps and m_noctcp.
Previously we assumed that CTCP ACTIONs matched "\1ACTION ". This is incorrect because "\1ACTION\1" and "\1ACTION" are valid CTCPs.
-rw-r--r--src/modules/m_blockcaps.cpp2
-rw-r--r--src/modules/m_noctcp.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/m_blockcaps.cpp b/src/modules/m_blockcaps.cpp
index 200693699..7146ee068 100644
--- a/src/modules/m_blockcaps.cpp
+++ b/src/modules/m_blockcaps.cpp
@@ -67,7 +67,7 @@ public:
{
if (target_type == TYPE_CHANNEL)
{
- if ((!IS_LOCAL(user)) || (text.length() < minlen))
+ if ((!IS_LOCAL(user)) || (text.length() < minlen) || (text == "\1ACTION\1") || (text == "\1ACTION"))
return MOD_RES_PASSTHRU;
Channel* c = (Channel*)dest;
diff --git a/src/modules/m_noctcp.cpp b/src/modules/m_noctcp.cpp
index 1dd6fe34a..c934a05c6 100644
--- a/src/modules/m_noctcp.cpp
+++ b/src/modules/m_noctcp.cpp
@@ -67,7 +67,7 @@ class ModuleNoCTCP : public Module
if ((target_type == TYPE_CHANNEL) && (IS_LOCAL(user)))
{
Channel* c = (Channel*)dest;
- if ((text.empty()) || (text[0] != '\001') || (!strncmp(text.c_str(),"\1ACTION ",8)))
+ if ((text.empty()) || (text[0] != '\001') || (!strncmp(text.c_str(),"\1ACTION ", 8)) || (text == "\1ACTION\1") || (text == "\1ACTION"))
return MOD_RES_PASSTHRU;
ModResult res = ServerInstance->OnCheckExemption(user,c,"noctcp");