summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_spanningtree/main.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index dcd02ba9b..511465084 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -728,11 +728,15 @@ void ModuleSpanningTree::RedoConfig(Module* mod, const std::string &name)
{
/* If m_sha256.so is loaded (we use this for HMAC) or any module implementing a BufferedSocket interface is loaded,
* then we need to re-read our config again taking this into account.
- *
- * We determine if a module supports BufferedSocket simply by sending it the Request for its BufferedSocket name,
- * and if it responds non-NULL, it implements the interface.
*/
- if (name == "m_sha256.so" || BufferedSocketNameRequest((Module*)this, mod).Send() != NULL)
+ modulelist* ml = ServerInstance->Modules->FindInterface("BufferedSocketHook");
+ bool IsBufferSocketModule = false;
+
+ /* Did we find any modules? */
+ if (ml && std::find(ml->begin(), ml->end(), mod) != ml->end())
+ IsBufferSocketModule = true;
+
+ if (name == "m_sha256.so" || IsBufferSocketModule)
{
Utils->ReadConfiguration(true);
}