X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_opersha256.cpp;h=44b2c936d9b2814eb087a074d0342666d8cf4b53;hb=7c0c957577a195b4819e4d7f2c9672d7c7522b0d;hp=6437a1050613d0420e96af7c3ac754ccbe381293;hpb=8f003b86f225a607dcbec00bbde5bbf965e65e54;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_opersha256.cpp b/src/modules/m_opersha256.cpp index 6437a1050..44b2c936d 100644 --- a/src/modules/m_opersha256.cpp +++ b/src/modules/m_opersha256.cpp @@ -37,19 +37,30 @@ using namespace std; #include +#include "inspircd_config.h" +#ifdef HAS_STDINT #include +#endif #include "users.h" #include "channels.h" #include "modules.h" -#include "helperfuncs.h" -Server *Srv; +#include "inspircd.h" + + #define SHA256_DIGEST_SIZE (256 / 8) #define SHA256_BLOCK_SIZE (512 / 8) -struct SHA256Context +#ifndef HAS_STDINT +typedef unsigned int uint32_t; +#endif + +/** An sha 256 context, used by m_opersha256 + */ +class SHA256Context : public classbase { + public: unsigned int tot_len; unsigned int len; unsigned char block[2 * SHA256_BLOCK_SIZE]; @@ -216,19 +227,23 @@ void SHA256(const char *src, char *dest, int len) } } +/** Handle /MKSHA256 + */ class cmd_mksha256 : public command_t { public: - cmd_mksha256() : command_t("MKSHA256", 'o', 1) + cmd_mksha256 (InspIRCd* Instance) : command_t(Instance,"MKSHA256", 'o', 1) { this->source = "m_opersha256.so"; + syntax = ""; } - void Handle(char **parameters, int pcnt, userrec *user) + CmdResult Handle(const char** parameters, int pcnt, userrec *user) { char buffer[SHA256_BLOCK_SIZE + 1]; SHA256(parameters[0], buffer, strlen(parameters[0])); - WriteServ(user->fd, "NOTICE %s :SHA256 hashed password for %s is %s", user->nick, parameters[0], buffer); + user->WriteServ("NOTICE %s :SHA256 hashed password for %s is %s", user->nick, parameters[0], buffer); + return CMD_SUCCESS; } }; @@ -237,11 +252,11 @@ class ModuleOperSHA256 : public Module cmd_mksha256 *mksha256cmd; public: - ModuleOperSHA256(Server *Me) : Module::Module(Me) + ModuleOperSHA256(InspIRCd* Me) : Module::Module(Me) { - Srv = Me; - mksha256cmd = new cmd_mksha256(); - Srv->AddCommand(mksha256cmd); + + mksha256cmd = new cmd_mksha256(ServerInstance); + ServerInstance->AddCommand(mksha256cmd); } virtual ~ModuleOperSHA256() @@ -253,7 +268,7 @@ public: List[I_OnOperCompare] = 1; } - virtual int OnOperCompare(std::string data, std::string input) + virtual int OnOperCompare(const std::string &data, const std::string &input) { if (data.length() == SHA256_BLOCK_SIZE) // If the data is as long as a hex sha256 hash, try it as that { @@ -285,7 +300,7 @@ public: { } - virtual Module *CreateModule(Server* Me) + virtual Module *CreateModule(InspIRCd* Me) { return new ModuleOperSHA256(Me); }