summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r--src/modules/m_spanningtree/utils.cpp7
-rw-r--r--src/modules/m_spanningtree/utils.h2
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;