]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_opermd5.cpp
Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists
[user/henk/code/inspircd.git] / src / modules / m_opermd5.cpp
index da26d37cc337ff1317ec012775f199082d4db4cb..9ac896e81e709a178554379a9094d746f68f29a5 100644 (file)
 using namespace std;
 
 #include <stdio.h>
+#include "inspircd_config.h"
+#ifdef HAS_STDINT
+#include <stdint.h>
+#endif
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
-#include "helperfuncs.h"
 
+#include "inspircd.h"
 
 /* The four core functions - F1 is optimized somewhat */
 #define F1(x, y, z) (z ^ (x & (y ^ z)))
@@ -35,17 +39,21 @@ using namespace std;
 #define MD5STEP(f,w,x,y,z,in,s) \
          (w += f(x,y,z) + in, w = (w<<s | w>>(32-s)) + x)
 
-typedef unsigned long word32;
+#ifndef HAS_STDINT
+typedef unsigned int uint32_t;
+#endif
+
+typedef uint32_t word32; /* NOT unsigned long. We don't support 16 bit platforms, anyway. */
 typedef unsigned char byte;
 
-struct MD5Context {
+class MD5Context : public classbase
+{
+ public:
        word32 buf[4];
        word32 bytes[2];
        word32 in[16];
 };
 
-Server *Srv;
-
 void MD5Init(struct MD5Context *context);
 void MD5Update(struct MD5Context *context, byte const *buf, int len);
 void MD5Final(byte digest[16], struct MD5Context *context);
@@ -264,30 +272,32 @@ void GenHash(const char* src, char* dest)
 class cmd_mkpasswd : public command_t
 {
  public:
      cmd_mkpasswd () : command_t("MKPASSWD", 'o', 1)
cmd_mkpasswd (InspIRCd* Instance) : command_t(Instance,"MKPASSWD", 'o', 1)
        {
                this->source = "m_opermd5.so";
+               syntax = "<any-text>";
        }
 
-       void Handle (char **parameters, int pcnt, userrec *user)
+       void Handle (const char** parameters, int pcnt, userrec *user)
        {
                char buffer[MAXBUF];
                GenHash(parameters[0],buffer);
-               WriteServ(user->fd,"NOTICE %s :MD5 hashed password for %s is %s",user->nick,parameters[0],buffer);
+               user->WriteServ("NOTICE %s :MD5 hashed password for %s is %s",user->nick,parameters[0],buffer);
        }
 };
 
 class ModuleOperMD5 : public Module
 {
+       
        cmd_mkpasswd* mycommand;
  public:
 
-       ModuleOperMD5(Server* Me)
+       ModuleOperMD5(InspIRCd* Me)
                : Module::Module(Me)
        {
-               Srv = Me;
-               mycommand = new cmd_mkpasswd();
-               Srv->AddCommand(mycommand);
+               
+               mycommand = new cmd_mkpasswd(ServerInstance);
+               ServerInstance->AddCommand(mycommand);
        }
        
        virtual ~ModuleOperMD5()
@@ -299,7 +309,7 @@ class ModuleOperMD5 : public Module
                List[I_OnOperCompare] = 1;
        }
 
-       virtual int OnOperCompare(std::string data, std::string input)
+       virtual int OnOperCompare(const std::string &data, const std::string &input)
        {
                char buffer[MAXBUF];
                if (data.length() == 32)        // if its 32 chars long, try it as an md5
@@ -332,7 +342,7 @@ class ModuleOperMD5Factory : public ModuleFactory
        {
        }
        
-       virtual Module * CreateModule(Server* Me)
+       virtual Module * CreateModule(InspIRCd* Me)
        {
                return new ModuleOperMD5(Me);
        }