summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/users.h5
-rw-r--r--src/users.cpp9
2 files changed, 9 insertions, 5 deletions
diff --git a/include/users.h b/include/users.h
index 3edb9a99e..293465254 100644
--- a/include/users.h
+++ b/include/users.h
@@ -698,9 +698,10 @@ class CoreExport User : public connection
*/
User(InspIRCd* Instance, const std::string &uid = "");
- /** Check if the user matches a G or K line, and disconnect them if they do
+ /** Check if the user matches a G or K line, and disconnect them if they do.
+ * Returns true if the user matched a ban, false else.
*/
- void CheckLines();
+ bool CheckLines();
/** Returns the full displayed host of the user
* This member function returns the hostname of the user as seen by other users
diff --git a/src/users.cpp b/src/users.cpp
index c82c351ab..a86c6f824 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -886,7 +886,7 @@ void User::CheckClass()
this->MaxChans = a->GetMaxChans();
}
-void User::CheckLines()
+bool User::CheckLines()
{
const char* check[] = { "G" , "K", NULL };
@@ -899,10 +899,12 @@ void User::CheckLines()
if (r)
{
r->Apply(this);
- return;
+ return true;
}
}
}
+
+ return false;
}
void User::FullConnect()
@@ -927,7 +929,8 @@ void User::FullConnect()
return;
}
- CheckLines();
+ if (this->CheckLines())
+ return;
this->WriteServ("NOTICE Auth :Welcome to \002%s\002!",ServerInstance->Config->Network);
this->WriteNumeric(001, "%s :Welcome to the %s IRC Network %s!%s@%s",this->nick.c_str(), ServerInstance->Config->Network, this->nick.c_str(), this->ident.c_str(), this->host.c_str());