diff options
| author | 2019-12-08 17:38:47 +0000 | |
|---|---|---|
| committer | 2019-12-08 17:47:07 +0000 | |
| commit | 034dad6ab0df48172a70de70a9d0de4a9092112e (patch) | |
| tree | 0e852f3554dbce37d8e2e360fa099148155e8cab /src/usermanager.cpp | |
| parent | Move the nationalchars locale files to the docs directory. (diff) | |
| parent | Clean up the initialisation of the InspIRCd class. (diff) | |
Merge branch 'insp3' into master.
Diffstat (limited to 'src/usermanager.cpp')
| -rw-r--r-- | src/usermanager.cpp | 15 |
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()); |
