summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/nickserv.example.conf14
-rw-r--r--include/config.h2
-rw-r--r--src/config.cpp1
-rw-r--r--src/servers.cpp3
4 files changed, 15 insertions, 5 deletions
diff --git a/data/nickserv.example.conf b/data/nickserv.example.conf
index 0222aa5cf..d3e1ffb14 100644
--- a/data/nickserv.example.conf
+++ b/data/nickserv.example.conf
@@ -282,11 +282,17 @@ nickserv
restoreonrecover = yes
/*
- * Some IRCds allow "SASL" authentication to let users identify to Services
- * during the IRCd user registration process. If set, Services will allow
- * authenticating users through this mechanism.
- */
+ * Some IRCds allow "SASL" authentication to let users identify to Services
+ * during the IRCd user registration process. If set, Services will allow
+ * authenticating users through this mechanism.
+ */
sasl = yes
+
+ /*
+ * If set, Services will not show netsplits in the last quit message field
+ * of NickServ's INFO command.
+ */
+ hidenetsplitquit = no
}
/*
diff --git a/include/config.h b/include/config.h
index 703f00b95..b69c1ce30 100644
--- a/include/config.h
+++ b/include/config.h
@@ -542,6 +542,8 @@ class CoreExport ServerConfig
bool NSRestoreOnRecover;
/* Whether or not to use SASL */
bool NSSASL;
+ /* If set, hides netsplits in the last_quit field of nicks */
+ bool NSHideNetSplitQuit;
/* Core ChanServ modules */
Anope::string ChanCoreModules;
diff --git a/src/config.cpp b/src/config.cpp
index 968d6fd73..cd78f0f83 100644
--- a/src/config.cpp
+++ b/src/config.cpp
@@ -1192,6 +1192,7 @@ ConfigItems::ConfigItems(ServerConfig *conf)
{"nickserv", "modesonid", "", new ValueContainerString(&conf->NSModesOnID), DT_STRING, NoValidation},
{"nickserv", "restoreonrecover", "yes", new ValueContainerBool(&conf->NSRestoreOnRecover), DT_BOOLEAN, NoValidation},
{"nickserv", "sasl", "yes", new ValueContainerBool(&conf->NSSASL), DT_BOOLEAN, NoValidation},
+ {"nickserv", "hidenetsplitquit", "no", new ValueContainerBool(&conf->NSHideNetSplitQuit), DT_BOOLEAN, NoValidation},
{"mail", "usemail", "no", new ValueContainerBool(&conf->UseMail), DT_BOOLEAN, ValidateEmailReg},
{"mail", "sendmailpath", "", new ValueContainerString(&conf->SendMailPath), DT_STRING, ValidateMail},
{"mail", "sendfrom", "", new ValueContainerString(&conf->SendFrom), DT_STRING, ValidateMail},
diff --git a/src/servers.cpp b/src/servers.cpp
index bbb7a1596..2b4fea2db 100644
--- a/src/servers.cpp
+++ b/src/servers.cpp
@@ -131,7 +131,8 @@ Server::~Server()
if (na && !na->nc->HasExt("SUSPENDED") && (u->IsRecognized() || u->IsIdentified()))
{
na->last_seen = Anope::CurTime;
- na->last_quit = this->quit_reason;
+ if (!Config->NSHideNetSplitQuit)
+ na->last_quit = this->quit_reason;
}
u->Quit(this->quit_reason);