- dest->ChangeIdent(parameters[1]);
- ServerInstance->WriteOpers("%s used CHGIDENT to change %s's ident to '%s'", user->nick, dest->nick, dest->ident);
+ if (!ServerInstance->IsIdent(parameters[1].c_str()))
+ {
+ user->WriteServ("NOTICE %s :*** CHGIDENT: Invalid characters in ident", user->nick.c_str());
+ return CMD_FAILURE;
+ }
+
+ if (IS_LOCAL(dest))
+ {
+ dest->ChangeIdent(parameters[1].c_str());
+
+ if (!ServerInstance->ULine(user->server))
+ ServerInstance->SNO->WriteGlobalSno('a', "%s used CHGIDENT to change %s's ident to '%s'", user->nick.c_str(), dest->nick.c_str(), dest->ident.c_str());
+ }