diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-11-26 22:15:21 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-11-26 22:15:21 +0000 |
commit | 856391e5d8a9f562a08d2e7b6dbb0231ee961202 (patch) | |
tree | 2934387075c56b2135d5bc6a2c4fbdaa2a33932b /src/modules/m_spanningtree.cpp | |
parent | 48615694122de0e4068a2bec6f7d9289112f2f4c (diff) |
Fixed dumb bug where module claims ALL bindable ports including client ports!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1963 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree.cpp')
-rw-r--r-- | src/modules/m_spanningtree.cpp | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 727487545..688df280a 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -184,24 +184,27 @@ class ModuleSpanningTree : public Module { for (int j =0; j < Conf->Enumerate("bind"); j++) { - std::string TypeName = Conf->ReadValue("bind","type",j); + std::string Type = Conf->ReadValue("bind","type",j); std::string IP = Conf->ReadValue("bind","address",j); long Port = Conf->ReadInteger("bind","port",j,true); - if (IP == "*") + if (Type == "servers") { - IP = ""; - } - TreeSocket* listener = new TreeSocket(IP.c_str(),Port,true,10); - if (listener->GetState() == I_LISTENING) - { - Srv->AddSocket(listener); - Bindings.push_back(listener); - } - else - { - log(DEFAULT,"m_spanningtree: Warning: Failed to bind server port %d",Port); - listener->Close(); - delete listener; + if (IP == "*") + { + IP = ""; + } + TreeSocket* listener = new TreeSocket(IP.c_str(),Port,true,10); + if (listener->GetState() == I_LISTENING) + { + Srv->AddSocket(listener); + Bindings.push_back(listener); + } + else + { + log(DEFAULT,"m_spanningtree: Warning: Failed to bind server port %d",Port); + listener->Close(); + delete listener; + } } } } |