From 95e36721d405b7b2f4f712bb2972d65c7fc71cc7 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Wed, 25 Sep 2024 12:39:15 +0100 Subject: Let services know what format it should send extbans in. --- src/modules/m_spanningtree/capab.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/modules/m_spanningtree') diff --git a/src/modules/m_spanningtree/capab.cpp b/src/modules/m_spanningtree/capab.cpp index be4c0395d..363da853b 100644 --- a/src/modules/m_spanningtree/capab.cpp +++ b/src/modules/m_spanningtree/capab.cpp @@ -356,10 +356,10 @@ void TreeSocket::SendCapabilities(int phase) { "MAXUSER", ConvToStr(ServerInstance->Config->Limits.MaxUser) }, }; + ExtBan::ManagerRef extbanmgr(Utils->Creator); if (proto_version <= PROTO_INSPIRCD_3) { // 1205 HACK: Allow services to know what extbans exist. - ExtBan::ManagerRef extbanmgr(Utils->Creator); if (extbanmgr) { std::string extbans; @@ -386,6 +386,23 @@ void TreeSocket::SendCapabilities(int phase) std::string extbans; if (BuildExtBanList(extbans)) WriteLine("CAPAB EXTBANS :" + extbans); + + if (extbanmgr) + { + std::string& xbformat = capabilities["EXTBANFORMAT"]; + switch (extbanmgr->GetFormat()) + { + case ExtBan::Format::ANY: + xbformat = "any"; + break; + case ExtBan::Format::NAME: + xbformat = "name"; + break; + case ExtBan::Format::LETTER: + xbformat = "letter"; + break; + } + } } // If SHA256 hashing support is available then send a challenge token. -- cgit v1.3.1-10-gc9f91