summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index 4b4cdff8e..7a24ff84b 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -1147,6 +1147,23 @@ bool TreeSocket::ProcessLine(std::string &line)
route_back_again->SetPingFlag();
}
+ if ((command == "MODE") && (params.size() >= 2))
+ {
+ chanrec* channel = Instance->FindChan(params[0]);
+ if (channel)
+ {
+ userrec* x = Instance->FindNick(prefix);
+ if (x)
+ {
+ Instance->Log(DEFAULT,
+ "WARNING: I revceived modes '%s' from another server '%s'. This is not compliant with InspIRCd. Please check that server for bugs.",
+ params[1].c_str(), x->server);
+ Instance->SNO->WriteToSnoMask('d', "WARNING: The server %s is sending nonstandard modes: '%s MODE %s' and may cause desyncs.",
+ x->server, x->nick, params[1].c_str());
+ }
+ }
+ }
+
if (command == "SVSMODE")
{
/* Services expects us to implement