summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/configreader.cpp1
-rw-r--r--src/users.cpp7
-rw-r--r--src/xline.cpp16
3 files changed, 23 insertions, 1 deletions
diff --git a/src/configreader.cpp b/src/configreader.cpp
index 76aec8ee5..2d62f354a 100644
--- a/src/configreader.cpp
+++ b/src/configreader.cpp
@@ -593,6 +593,7 @@ void ServerConfig::Read(bool bail, userrec* user)
InitialConfig Values[] = {
{"options", "softlimit", MAXCLIENTS_S, new ValueContainerUInt (&this->SoftLimit), DT_INTEGER, ValidateSoftLimit},
{"options", "somaxconn", SOMAXCONN_S, new ValueContainerInt (&this->MaxConn), DT_INTEGER, ValidateMaxConn},
+ {"options", "moronbanner", "Youre banned!", new ValueContainerChar (this->MoronBanner), DT_CHARPTR, NoValidation},
{"server", "name", "", new ValueContainerChar (this->ServerName), DT_CHARPTR, ValidateServerName},
{"server", "description", "Configure Me", new ValueContainerChar (this->ServerDesc), DT_CHARPTR, NoValidation},
{"server", "network", "Network", new ValueContainerChar (this->Network), DT_CHARPTR, NoValidation},
diff --git a/src/users.cpp b/src/users.cpp
index 196be89e9..2e3bc83d5 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -962,6 +962,8 @@ void userrec::AddClient(InspIRCd* Instance, int socket, int port, bool iscached,
if (r)
{
char reason[MAXBUF];
+ if (*Instance->Config->MoronBanner)
+ New->WriteServ("NOTICE %s :*** %s", New->nick, Instance->Config->MoronBanner);
snprintf(reason,MAXBUF,"Z-Lined: %s",r->reason);
userrec::QuitUser(Instance, New, reason);
return;
@@ -1053,6 +1055,8 @@ void userrec::FullConnect()
{
this->muted = true;
char reason[MAXBUF];
+ if (*ServerInstance->Config->MoronBanner)
+ this->WriteServ("NOTICE %s :*** %s", this->nick, ServerInstance->Config->MoronBanner);
snprintf(reason,MAXBUF,"G-Lined: %s",r->reason);
ServerInstance->GlobalCulls.AddItem(this, reason);
return;
@@ -1064,11 +1068,12 @@ void userrec::FullConnect()
{
this->muted = true;
char reason[MAXBUF];
+ if (*ServerInstance->Config->MoronBanner)
+ this->WriteServ("NOTICE %s :*** %s", this, ServerInstance->Config->MoronBanner);
snprintf(reason,MAXBUF,"K-Lined: %s",n->reason);
ServerInstance->GlobalCulls.AddItem(this, reason);
return;
}
-
}
this->WriteServ("NOTICE Auth :Welcome to \002%s\002!",ServerInstance->Config->Network);
diff --git a/src/xline.cpp b/src/xline.cpp
index b6721de09..7a1b4a8aa 100644
--- a/src/xline.cpp
+++ b/src/xline.cpp
@@ -684,6 +684,8 @@ void XLineManager::apply_lines(const int What)
if ((check = matches_gline(u,true)))
{
snprintf(reason,MAXBUF,"G-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
if (ServerInstance->Config->HideBans)
ServerInstance->GlobalCulls.AddItem(u, "G-Lined", reason);
else
@@ -696,6 +698,8 @@ void XLineManager::apply_lines(const int What)
if ((check = matches_kline(u,true)))
{
snprintf(reason,MAXBUF,"K-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
if (ServerInstance->Config->HideBans)
ServerInstance->GlobalCulls.AddItem(u, "K-Lined", reason);
else
@@ -708,6 +712,8 @@ void XLineManager::apply_lines(const int What)
if ((check = matches_qline(u->nick,true)))
{
snprintf(reason,MAXBUF,"Q-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
if (ServerInstance->Config->HideBans)
ServerInstance->GlobalCulls.AddItem(u, "Q-Lined", reason);
else
@@ -720,6 +726,8 @@ void XLineManager::apply_lines(const int What)
if ((check = matches_zline(u->GetIPString(),true)))
{
snprintf(reason,MAXBUF,"Z-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
if (ServerInstance->Config->HideBans)
ServerInstance->GlobalCulls.AddItem(u, "Z-Lined", reason);
else
@@ -752,6 +760,8 @@ void XLineManager::apply_lines(const int What)
if ((check = matches_gline(u)))
{
snprintf(reason,MAXBUF,"G-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
if (ServerInstance->Config->HideBans)
ServerInstance->GlobalCulls.AddItem(u, "G-Lined", reason);
else
@@ -763,6 +773,8 @@ void XLineManager::apply_lines(const int What)
if ((check = matches_kline(u)))
{
snprintf(reason,MAXBUF,"K-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
if (ServerInstance->Config->HideBans)
ServerInstance->GlobalCulls.AddItem(u, "K-Lined", reason);
else
@@ -774,6 +786,8 @@ void XLineManager::apply_lines(const int What)
if ((check = matches_qline(u->nick)))
{
snprintf(reason,MAXBUF,"Q-Lined: %s",check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
if (ServerInstance->Config->HideBans)
ServerInstance->GlobalCulls.AddItem(u, "Q-Lined", reason);
else
@@ -785,6 +799,8 @@ void XLineManager::apply_lines(const int What)
if ((check = matches_zline(u->GetIPString())))
{
snprintf(reason,MAXBUF,"Z-Lined: %s", check->reason);
+ if (*ServerInstance->Config->MoronBanner)
+ u->WriteServ("NOTICE %s :*** %s", u->nick, ServerInstance->Config->MoronBanner);
if (ServerInstance->Config->HideBans)
ServerInstance->GlobalCulls.AddItem(u, "Z-Lined", reason);
else