aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_spanningtree/capab.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2020-12-04 18:18:07 +0000
committerGravatar Sadie Powell2020-12-04 18:44:40 +0000
commit3ab889537fb4c7b5b3507562563eec8211d0cc58 (patch)
tree254ba171bfe3c8d0ebd4826cc2d51c7befbd6fc2 /src/modules/m_spanningtree/capab.cpp
parentMove ban checking to core_channel. (diff)
parentImprove the logging of service adding/deleting. (diff)
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/m_spanningtree/capab.cpp')
-rw-r--r--src/modules/m_spanningtree/capab.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/capab.cpp b/src/modules/m_spanningtree/capab.cpp
index 39adf99e1..18f25b2c6 100644
--- a/src/modules/m_spanningtree/capab.cpp
+++ b/src/modules/m_spanningtree/capab.cpp
@@ -159,6 +159,21 @@ void TreeSocket::SendCapabilities(int phase)
extra = " CHALLENGE=" + this->GetOurChallenge();
}
+ // 1205 HACK: Allow services to know what extbans exist.
+ if (proto_version <= PROTO_INSPIRCD_30)
+ {
+ dynamic_reference_nocheck<ExtBan::Manager> extbanmgr(Utils->Creator, "extbanmanager");
+ if (extbanmgr)
+ {
+ std::string extbanchars;
+ for (const auto& [extban, _] : extbanmgr->GetLetterMap())
+ extbanchars.push_back(extban);
+
+ if (!extbanchars.empty())
+ extra.append(" EXTBANS=" + extbanchars);
+ }
+ }
+
this->WriteLine("CAPAB CAPABILITIES " /* Preprocessor does this one. */
":NICKMAX="+ConvToStr(ServerInstance->Config->Limits.MaxNick)+
" CHANMAX="+ConvToStr(ServerInstance->Config->Limits.MaxChannel)+