From e7b837ec5f120f928a0dc321fa918bdd01ab0c02 Mon Sep 17 00:00:00 2001 From: brain Date: Sat, 24 May 2008 12:12:46 +0000 Subject: Kick the client in the balls if they try STARTTLS after client registration git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9801 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/extra/m_ssl_gnutls.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/modules/extra') diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp index 2e954632e..91f29189e 100644 --- a/src/modules/extra/m_ssl_gnutls.cpp +++ b/src/modules/extra/m_ssl_gnutls.cpp @@ -75,8 +75,15 @@ class CommandStartTLS : public Command CmdResult Handle (const std::vector ¶meters, User *user) { - user->io = Caller; - Caller->OnRawSocketAccept(user->GetFd(), user->GetIPString(), user->GetPort()); + if (user->registered == REG_ALL) + { + ServerInstance->Users->QuitUser(user, "STARTTLS not allowed after client registration"); + } + else + { + user->io = Caller; + Caller->OnRawSocketAccept(user->GetFd(), user->GetIPString(), user->GetPort()); + } return CMD_FAILURE; } -- cgit v1.2.3