summaryrefslogtreecommitdiff
path: root/src/modules/m_chgident.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_chgident.cpp')
-rw-r--r--src/modules/m_chgident.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/modules/m_chgident.cpp b/src/modules/m_chgident.cpp
index e3067fe56..a212077ed 100644
--- a/src/modules/m_chgident.cpp
+++ b/src/modules/m_chgident.cpp
@@ -40,12 +40,19 @@ class cmd_chgident : public command_t
if (!*parameters[1])
{
- user->WriteServ("NOTICE %s :*** CHGIDENT: Needs non-zero length ident", user->nick);
+ user->WriteServ("NOTICE %s :*** CHGIDENT: Ident must be specified", user->nick);
return CMD_FAILURE;
}
- if(!ServerInstance->IsIdent(parameters[1]))
+
+ if (strlen(parameters[1]) > IDENTMAX)
{
- user->WriteServ("NOTICE %s :*** Invalid characters in ident", user->nick);
+ user->WriteServ("NOTICE %s :*** CHGIDENT: Ident is too long", user->nick);
+ return CMD_FAILURE;
+ }
+
+ if (!ServerInstance->IsIdent(parameters[1]))
+ {
+ user->WriteServ("NOTICE %s :*** CHGIDENT: Invalid characters in ident", user->nick);
return CMD_FAILURE;
}