- return Version(1,0,0,0);
+ size_t len = 0;
+ for (const char* x = parameters[0]; *x; x++, len++)
+ {
+ if (!hostmap[(unsigned char)*x])
+ {
+ user->WriteServ("NOTICE "+std::string(user->nick)+" :*** SETHOST: Invalid characters in hostname");
+ return CMD_FAILURE;
+ }
+ }
+ if (len == 0)
+ {
+ user->WriteServ("NOTICE %s :*** SETHOST: Host must be specified", user->nick);
+ return CMD_FAILURE;
+ }
+ if (len > 64)
+ {
+ user->WriteServ("NOTICE %s :*** SETHOST: Host too long",user->nick);
+ return CMD_FAILURE;
+ }
+ if (user->ChangeDisplayedHost(parameters[0]))
+ {
+ ServerInstance->SNO->WriteToSnoMask('A', std::string(user->nick)+" used SETHOST to change their displayed host to "+user->dhost);
+ return CMD_SUCCESS;
+ }
+
+ return CMD_FAILURE;