diff options
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r-- | src/modules/m_spanningtree/utils.cpp | 7 | ||||
-rw-r--r-- | src/modules/m_spanningtree/utils.h | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp index 8a17baf84..ee12712b8 100644 --- a/src/modules/m_spanningtree/utils.cpp +++ b/src/modules/m_spanningtree/utils.cpp @@ -29,10 +29,13 @@ /* $ModDep: m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h */ /* Create server sockets off a listener. */ -void ServerSocketListener::OnAcceptReady(const std::string &ipconnectedto, int newsock, const std::string &incomingip) +void ServerSocketListener::OnAcceptReady(int newsock) { bool found = false; - char *ip = (char *)incomingip.c_str(); // XXX ugly cast + int port; + std::string incomingip; + irc::sockets::satoap(&client, incomingip, port); + char *ip = const_cast<char*>(incomingip.c_str()); found = (std::find(Utils->ValidIPs.begin(), Utils->ValidIPs.end(), ip) != Utils->ValidIPs.end()); if (!found) diff --git a/src/modules/m_spanningtree/utils.h b/src/modules/m_spanningtree/utils.h index a32b5a445..81c47267d 100644 --- a/src/modules/m_spanningtree/utils.h +++ b/src/modules/m_spanningtree/utils.h @@ -49,7 +49,7 @@ class ServerSocketListener : public ListenSocketBase this->Utils = u; } - virtual void OnAcceptReady(const std::string &ipconnectedto, int nfd, const std::string &incomingip); + virtual void OnAcceptReady(int nfd); }; typedef std::map<TreeServer*,TreeServer*> TreeServerList; |