diff options
-rw-r--r-- | src/modules/m_spanningtree/treesocket1.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index a23d55555..0aaa0bd3b 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -676,6 +676,13 @@ bool TreeSocket::ForceMode(const std::string &source, std::deque<std::string> &p return true; } + if (!TS) + { + Instance->Log(DEFAULT,"*** BUG? *** TS of 0 sent to FMODE. Are some services authors smoking craq, or is it 1970 again?. Dropped."); + Instance->SNO->WriteToSnoMask('d', "WARNING: The server %s is sending FMODE with a TS of zero. Total craq. Mode was dropped.", sourceserv.c_str()); + return true; + } + /* TS is equal or less: Merge the mode changes into ours and pass on. */ if (TS <= ourTS) |