diff options
author | Attila Molnar <attilamolnar@hush.com> | 2015-02-22 20:42:12 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2015-02-22 20:42:12 +0100 |
commit | 71f93ea1b3e5091620dd3a3faa04389447272223 (patch) | |
tree | 60f10499114fd175a9113bdb201cf86d65b2f91d /src | |
parent | bdefe32944c2fa2d27dd00ba6eec8863d72d2dbd (diff) | |
parent | 76608ff23d515fbf5fcdbdc17b7f261339b2a276 (diff) |
Merge pull request #916 from ShutterQuick/master+kickrejoinbound
Advertise m_kicknorejoin's upper bound. Closes #913
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/m_kicknorejoin.cpp | 10 | ||||
-rw-r--r-- | src/modules/m_spanningtree/capab.cpp | 5 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/modules/m_kicknorejoin.cpp b/src/modules/m_kicknorejoin.cpp index ebe2d45c9..b8a776667 100644 --- a/src/modules/m_kicknorejoin.cpp +++ b/src/modules/m_kicknorejoin.cpp @@ -83,10 +83,11 @@ class KickRejoinData */ class KickRejoin : public ParamMode<KickRejoin, SimpleExtItem<KickRejoinData> > { - static const unsigned int max = 60; + const unsigned int max; public: KickRejoin(Module* Creator) : ParamMode<KickRejoin, SimpleExtItem<KickRejoinData> >(Creator, "kicknorejoin", 'J') + , max(60) { } @@ -107,6 +108,11 @@ class KickRejoin : public ParamMode<KickRejoin, SimpleExtItem<KickRejoinData> > { out.append(ConvToStr(krd->delay)); } + + std::string GetModuleSettings() const + { + return ConvToStr(max); + } }; class ModuleKickNoRejoin : public Module @@ -147,7 +153,7 @@ public: Version GetVersion() CXX11_OVERRIDE { - return Version("Channel mode to delay rejoin after kick", VF_VENDOR); + return Version("Channel mode to delay rejoin after kick", VF_VENDOR | VF_COMMON, kr.GetModuleSettings()); } }; diff --git a/src/modules/m_spanningtree/capab.cpp b/src/modules/m_spanningtree/capab.cpp index 047808c29..9035d89c9 100644 --- a/src/modules/m_spanningtree/capab.cpp +++ b/src/modules/m_spanningtree/capab.cpp @@ -33,6 +33,11 @@ std::string TreeSocket::MyModules(int filter) std::string capabilities; for (ModuleManager::ModuleMap::const_iterator i = modlist.begin(); i != modlist.end(); ++i) { + // 2.2 advertises its settings for the benefit of services + // 2.0 would bork on this + if (proto_version < 1205 && i->second->ModuleSourceFile == "m_kicknorejoin.so") + continue; + Version v = i->second->GetVersion(); if (!(v.Flags & filter)) continue; |