X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_password_hash.cpp;h=e5c39229209a9fc04b45dd0c1c462bb9ebc8fa5c;hb=697098bb47651b40ed9c768361d1a3b1ca452856;hp=66b917e18057deb398168bc771a90c971c8304a4;hpb=5db1d322be106c8462dc691072f9415dc0766ed4;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_password_hash.cpp b/src/modules/m_password_hash.cpp index 66b917e18..e5c392292 100644 --- a/src/modules/m_password_hash.cpp +++ b/src/modules/m_password_hash.cpp @@ -28,7 +28,7 @@ class CommandMkpasswd : public Command std::deque &names; public: CommandMkpasswd (InspIRCd* Instance, Module* S, hashymodules &h, std::deque &n) - : Command(Instance,"MKPASSWD", 'o', 2), Sender(S), hashers(h), names(n) + : Command(Instance,"MKPASSWD", "o", 2), Sender(S), hashers(h), names(n) { this->source = "m_password_hash.so"; syntax = " "; @@ -43,18 +43,23 @@ class CommandMkpasswd : public Command /* Yup, reset it first (Always ALWAYS do this) */ HashResetRequest(Sender, x->second).Send(); /* Now attempt to generate a hash */ - user->WriteServ("NOTICE %s :%s hashed password for %s is %s",user->nick, algo, stuff, HashSumRequest(Sender, x->second, stuff).Send() ); + user->WriteServ("NOTICE %s :%s hashed password for %s is %s",user->nick.c_str(), algo, stuff, HashSumRequest(Sender, x->second, stuff).Send() ); + } + else if (names.empty()) + { + /* same idea as bug #569 */ + user->WriteServ("NOTICE %s :No hash provider modules are loaded", user->nick.c_str()); } else { /* I dont do flying, bob. */ - user->WriteServ("NOTICE %s :Unknown hash type, valid hash types are: %s", user->nick, irc::stringjoiner(", ", names, 0, names.size() - 1).GetJoined().c_str() ); + user->WriteServ("NOTICE %s :Unknown hash type, valid hash types are: %s", user->nick.c_str(), irc::stringjoiner(", ", names, 0, names.size() - 1).GetJoined().c_str() ); } } - CmdResult Handle (const char** parameters, int pcnt, User *user) + CmdResult Handle (const std::vector& parameters, User *user) { - MakeHash(user, parameters[0], parameters[1]); + MakeHash(user, parameters[0].c_str(), parameters[1].c_str()); /* NOTE: Don't propagate this across the network! * We dont want plaintext passes going all over the place... * To make sure it goes nowhere, return CMD_FAILURE! @@ -65,7 +70,7 @@ class CommandMkpasswd : public Command class ModuleOperHash : public Module { - + CommandMkpasswd* mycommand; hashymodules hashers; /* List of modules which implement HashRequest */ std::deque names; /* Module names which implement HashRequest */ @@ -109,7 +114,7 @@ class ModuleOperHash : public Module Implementation eventlist[] = { I_OnPassCompare, I_OnLoadModule }; ServerInstance->Modules->Attach(eventlist, this, 2); } - + virtual ~ModuleOperHash() { if (diduseiface) ServerInstance->Modules->DoneWithInterface("HashRequest"); @@ -120,7 +125,7 @@ class ModuleOperHash : public Module { if (ServerInstance->Modules->ModuleHasInterface(mod, "HashRequest")) { - ServerInstance->Log(DEBUG, "Post-load registering hasher: %s", name.c_str()); + ServerInstance->Logs->Log("m_password-hash",DEBUG, "Post-load registering hasher: %s", name.c_str()); std::string sname = HashNameRequest(this, mod).Send(); hashers[sname.c_str()] = mod; names.push_back(sname); @@ -155,7 +160,7 @@ class ModuleOperHash : public Module virtual Version GetVersion() { - return Version(1,1,0,1,VF_VENDOR,API_VERSION); + return Version("$Id$",VF_VENDOR,API_VERSION); } };