]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/coremods/core_userhost.cpp
Reject client-to-client tags with no name.
[user/henk/code/inspircd.git] / src / coremods / core_userhost.cpp
index 14750ef60de1ad6a91de81413ee05d07fef6c916..e21e7d95b4f0fa2c6b5ebb5364d1fd98406fd0ca 100644 (file)
@@ -33,17 +33,17 @@ class CommandUserhost : public Command
                : Command(parent,"USERHOST", 1)
                , hideopermode(parent, "hideoper")
        {
-               syntax = "<nick> [<nick> ...]";
+               syntax = "<nick> [<nick>]+";
        }
        /** Handle command.
         * @param parameters The parameters to the command
         * @param user The user issuing the command
         * @return A value from CmdResult to indicate command success or failure.
         */
-       CmdResult Handle(const std::vector<std::string>& parameters, User *user);
+       CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE;
 };
 
-CmdResult CommandUserhost::Handle (const std::vector<std::string>& parameters, User *user)
+CmdResult CommandUserhost::Handle(User* user, const Params& parameters)
 {
        const bool has_privs = user->HasPrivPermission("users/auspex");
 
@@ -72,14 +72,31 @@ CmdResult CommandUserhost::Handle (const std::vector<std::string>& parameters, U
                        retbuf += (u->IsAway() ? '-' : '+');
                        retbuf += u->ident;
                        retbuf += '@';
-                       retbuf += (((u == user) || (has_privs)) ? u->host : u->dhost);
+                       retbuf += u->GetHost(u == user || has_privs);
                        retbuf += ' ';
                }
        }
 
-       user->WriteNumeric(302, retbuf);
+       user->WriteNumeric(RPL_USERHOST, retbuf);
 
        return CMD_SUCCESS;
 }
 
-COMMAND_INIT(CommandUserhost)
+class CoreModUserhost : public Module
+{
+ private:
+       CommandUserhost cmd;
+
+ public:
+       CoreModUserhost()
+               : cmd(this)
+       {
+       }
+
+       Version GetVersion() CXX11_OVERRIDE
+       {
+               return Version("Provides the USERHOST command", VF_CORE | VF_VENDOR);
+       }
+};
+
+MODULE_INIT(CoreModUserhost)