aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Sadie Powell2020-07-20 07:21:16 +0100
committerGravatar Sadie Powell2020-07-20 07:21:16 +0100
commitf73d200a1ea56aa68ee5df3935eb83e04537c59f (patch)
tree5d539d81502968cdf3b1aba249bd5dd4ecffff45 /src
parentMerge branch 'insp3' into master. (diff)
Split OnSetEndPoint into two events.
Diffstat (limited to 'src')
-rw-r--r--src/inspsocket.cpp5
-rw-r--r--src/modules/m_haproxy.cpp2
-rw-r--r--src/users.cpp11
3 files changed, 9 insertions, 9 deletions
diff --git a/src/inspsocket.cpp b/src/inspsocket.cpp
index f91a5b053..9de4a47da 100644
--- a/src/inspsocket.cpp
+++ b/src/inspsocket.cpp
@@ -362,11 +362,6 @@ void StreamSocket::FlushSendQ(SendQueue& sq)
}
}
-bool StreamSocket::OnSetEndPoint(const irc::sockets::sockaddrs& local, const irc::sockets::sockaddrs& remote)
-{
- return false;
-}
-
void StreamSocket::WriteData(const std::string &data)
{
if (!HasFd())
diff --git a/src/modules/m_haproxy.cpp b/src/modules/m_haproxy.cpp
index 3bb78ef7a..03c2a4745 100644
--- a/src/modules/m_haproxy.cpp
+++ b/src/modules/m_haproxy.cpp
@@ -272,7 +272,7 @@ class HAProxyHook : public IOHookMiddle
break;
}
- if (!sock->OnSetEndPoint(server, client))
+ if (!sock->OnSetLocalEndPoint(server) || !sock->OnSetRemoteEndPoint(client))
return -1;
// Parse any available TLVs.
diff --git a/src/users.cpp b/src/users.cpp
index 85685ec90..04c13ed84 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -332,10 +332,15 @@ void UserIOHandler::SwapInternals(UserIOHandler& other)
std::swap(checked_until, other.checked_until);
}
-bool UserIOHandler::OnSetEndPoint(const irc::sockets::sockaddrs& server, const irc::sockets::sockaddrs& client)
+bool UserIOHandler::OnSetLocalEndPoint(const irc::sockets::sockaddrs& ep)
{
- memcpy(&user->server_sa, &server, sizeof(irc::sockets::sockaddrs));
- user->SetClientIP(client);
+ memcpy(&user->server_sa, &ep, sizeof(irc::sockets::sockaddrs));
+ return true;
+}
+
+bool UserIOHandler::OnSetRemoteEndPoint(const irc::sockets::sockaddrs& ep)
+{
+ user->SetClientIP(ep);
return !user->quitting;
}