aboutsummaryrefslogtreecommitdiff
path: root/src/usermanager.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2019-12-08 17:38:47 +0000
committerGravatar Sadie Powell2019-12-08 17:47:07 +0000
commit034dad6ab0df48172a70de70a9d0de4a9092112e (patch)
tree0e852f3554dbce37d8e2e360fa099148155e8cab /src/usermanager.cpp
parentMove the nationalchars locale files to the docs directory. (diff)
parentClean up the initialisation of the InspIRCd class. (diff)
Merge branch 'insp3' into master.
Diffstat (limited to 'src/usermanager.cpp')
-rw-r--r--src/usermanager.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/usermanager.cpp b/src/usermanager.cpp
index a9ea519c2..d08be894c 100644
--- a/src/usermanager.cpp
+++ b/src/usermanager.cpp
@@ -149,10 +149,23 @@ void UserManager::AddUser(int socket, ListenSocket* via, irc::sockets::sockaddrs
{
ListenSocket::IOHookProvRef& iohookprovref = *i;
if (!iohookprovref)
+ {
+ if (!iohookprovref.GetProvider().empty())
+ {
+ ServerInstance->Logs.Log("USERS", LOG_DEBUG, "Non-existent I/O hook '%s' in <bind:%s> tag at %s",
+ iohookprovref.GetProvider().c_str(),
+ i == via->iohookprovs.begin() ? "hook" : "ssl",
+ via->bind_tag->getTagLocation().c_str());
+ this->QuitUser(New, "Internal error handling connection");
+ return;
+ }
continue;
+ }
iohookprovref->OnAccept(eh, client, server);
- // IOHook could have encountered a fatal error, e.g. if the TLS ClientHello was already in the queue and there was no common TLS version
+
+ // IOHook could have encountered a fatal error, e.g. if the TLS ClientHello
+ // was already in the queue and there was no common TLS version.
if (!eh->getError().empty())
{
QuitUser(New, eh->getError());