]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sha256.cpp
Argh, i give up
[user/henk/code/inspircd.git] / src / modules / m_sha256.cpp
index 6ba625a412673444f729c7ab90fff99e0a912610..ad7352060fbe7ba16e3f759432dffc389ad133d5 100644 (file)
 /* $ModDesc: Allows for SHA-256 encrypted oper passwords */
 /* $ModDep: m_hash.h */
 
-#include "inspircd_config.h"
+#include "inspircd.h"
 #ifdef HAS_STDINT
 #include <stdint.h>
 #endif
-#include "users.h"
-#include "channels.h"
-#include "modules.h"
-#include "inspircd.h"
-
 #include "m_hash.h"
 
 #ifndef HAS_STDINT
@@ -139,7 +134,7 @@ uint32_t sha256_k[64] =
 
 class ModuleSHA256 : public Module
 {
-       void SHA256Init(struct SHA256Context *ctx, const unsigned int* key)
+       void SHA256Init(SHA256Context *ctx, const unsigned int* key)
        {
                if (key)
                {
@@ -155,7 +150,7 @@ class ModuleSHA256 : public Module
                ctx->tot_len = 0;
        }
 
-       void SHA256Transform(struct SHA256Context *ctx, unsigned char *message, unsigned int block_nb)
+       void SHA256Transform(SHA256Context *ctx, unsigned char *message, unsigned int block_nb)
        {
                uint32_t w[64];
                uint32_t wv[8];
@@ -189,7 +184,7 @@ class ModuleSHA256 : public Module
                }
        }
        
-       void SHA256Update(struct SHA256Context *ctx, unsigned char *message, unsigned int len)
+       void SHA256Update(SHA256Context *ctx, unsigned char *message, unsigned int len)
        {
                unsigned int rem_len = SHA256_BLOCK_SIZE - ctx->len;
                memcpy(&ctx->block[ctx->len], message, rem_len);
@@ -209,7 +204,7 @@ class ModuleSHA256 : public Module
                ctx->tot_len += (block_nb + 1) << 6;
        }
        
-       void SHA256Final(struct SHA256Context *ctx, unsigned char *digest)
+       void SHA256Final(SHA256Context *ctx, unsigned char *digest)
        {
                unsigned int block_nb = (1 + ((SHA256_BLOCK_SIZE - 9) < (ctx->len % SHA256_BLOCK_SIZE)));
                unsigned int len_b = (ctx->tot_len + ctx->len) << 3;
@@ -226,7 +221,7 @@ class ModuleSHA256 : public Module
        {
                // Generate the hash
                unsigned char bytehash[SHA256_DIGEST_SIZE];
-               struct SHA256Context ctx;
+               SHA256Context ctx;
                SHA256Init(&ctx, key);
                SHA256Update(&ctx, (unsigned char *)src, (unsigned int)len);
                SHA256Final(&ctx, bytehash);
@@ -244,20 +239,18 @@ class ModuleSHA256 : public Module
 
  public:
 
-       ModuleSHA256(InspIRCd* Me) : Module::Module(Me), key(NULL), chars(NULL)
+       ModuleSHA256(InspIRCd* Me) : Module(Me), key(NULL), chars(NULL)
        {
-               ServerInstance->PublishInterface("HashRequest", this);
+               ServerInstance->Modules->PublishInterface("HashRequest", this);
+               Implementation eventlist[] = { I_OnRequest };
+               ServerInstance->Modules->Attach(eventlist, this, 1);
        }
 
        virtual ~ModuleSHA256()
        {
-               ServerInstance->UnpublishInterface("HashRequest", this);
+               ServerInstance->Modules->UnpublishInterface("HashRequest", this);
        }
 
-       void Implements(char *List)
-       {
-               List[I_OnRequest] = 1;
-       }
 
        virtual char* OnRequest(Request* request)
        {
@@ -294,26 +287,4 @@ class ModuleSHA256 : public Module
        }
 };
 
-
-class ModuleSHA256Factory : public ModuleFactory
-{
-public:
-       ModuleSHA256Factory()
-       {
-       }
-
-       ~ModuleSHA256Factory()
-       {
-       }
-
-       virtual Module *CreateModule(InspIRCd* Me)
-       {
-               return new ModuleSHA256(Me);
-       }
-
-};
-
-extern "C" void * init_module( void )
-{
-       return new ModuleSHA256Factory;
-}
+MODULE_INIT(ModuleSHA256)