summaryrefslogtreecommitdiff
path: root/modules/extra/m_proxyscan.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-01-03 11:41:32 -0500
committerAdam <Adam@anope.org>2013-01-03 12:34:01 -0500
commit098157dca8a4aecc18294cbc31cbe5ee95b35a94 (patch)
tree654f00f21e151ba9007ca8eb044a78fef1bd6e39 /modules/extra/m_proxyscan.cpp
parent827469600e8cf98fea7aec09ceaa77a097300b72 (diff)
Don't delete users immediately when quit or killed, instead wait until message processing is done
Diffstat (limited to 'modules/extra/m_proxyscan.cpp')
-rw-r--r--modules/extra/m_proxyscan.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/extra/m_proxyscan.cpp b/modules/extra/m_proxyscan.cpp
index 6d2a6b7b0..d89d0de56 100644
--- a/modules/extra/m_proxyscan.cpp
+++ b/modules/extra/m_proxyscan.cpp
@@ -125,9 +125,10 @@ class HTTPProxyConnect : public ProxyConnect, public BufferedSocket
return "HTTP";
}
- bool Read(const Anope::string &buf) anope_override
+ bool ProcessRead() anope_override
{
- if (buf == ProxyCheckString)
+ BufferedSocket::ProcessRead();
+ if (this->GetLine() == ProxyCheckString)
{
this->Ban();
return false;
@@ -341,9 +342,9 @@ class ModuleProxyScan : public Module
}
}
- void OnUserConnect(Reference<User> &user, bool &exempt) anope_override
+ void OnUserConnect(User *user, bool &exempt) anope_override
{
- if (exempt || !user || !Me->IsSynced() || !user->server->IsSynced())
+ if (exempt || user->Quitting() || !Me->IsSynced() || !user->server->IsSynced())
return;
/* At this time we only support IPv4 */