- return Version(1,0,0,0);
+ size_t len = 0;
+ for (std::string::const_iterator x = parameters[0].begin(); x != parameters[0].end(); x++, len++)
+ {
+ if (!hostmap[(const 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.c_str());
+ return CMD_FAILURE;
+ }
+ if (len > 64)
+ {
+ user->WriteServ("NOTICE %s :*** SETHOST: Host too long",user->nick.c_str());
+ return CMD_FAILURE;
+ }
+
+ if (user->ChangeDisplayedHost(parameters[0].c_str()))
+ {
+ ServerInstance->SNO->WriteGlobalSno('a', std::string(user->nick)+" used SETHOST to change their displayed host to "+user->dhost);
+ return CMD_SUCCESS;
+ }
+
+ return CMD_FAILURE;