diff options
author | hemagx <hemagx2@gmail.com> | 2016-02-17 14:26:01 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2016-07-12 20:58:34 +0200 |
commit | 732c6d6019d608f9f0e151ec75c48fcc498d4f51 (patch) | |
tree | 85691162dcea7fad5c050cf3414bed2e77cc33f9 /src/common | |
parent | ad05eb4f2e531f5a9aec6f27d2f69fd53b6525ac (diff) | |
download | hercules-732c6d6019d608f9f0e151ec75c48fcc498d4f51.tar.gz hercules-732c6d6019d608f9f0e151ec75c48fcc498d4f51.tar.bz2 hercules-732c6d6019d608f9f0e151ec75c48fcc498d4f51.tar.xz hercules-732c6d6019d608f9f0e151ec75c48fcc498d4f51.zip |
Interface md5calc.c
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/core.c | 2 | ||||
-rw-r--r-- | src/common/md5calc.c | 21 | ||||
-rw-r--r-- | src/common/md5calc.h | 16 |
3 files changed, 27 insertions, 12 deletions
diff --git a/src/common/core.c b/src/common/core.c index ce92a77e3..19f2ef0c7 100644 --- a/src/common/core.c +++ b/src/common/core.c @@ -40,6 +40,7 @@ # include "common/HPM.h" # include "common/conf.h" # include "common/ers.h" +# include "common/md5calc.h" # include "common/socket.h" # include "common/sql.h" # include "common/thread.h" @@ -261,6 +262,7 @@ void core_defaults(void) { timer_defaults(); db_defaults(); socket_defaults(); + md5_defaults(); #endif } /** diff --git a/src/common/md5calc.c b/src/common/md5calc.c index d346c8aa4..ad0f7c2d8 100644 --- a/src/common/md5calc.c +++ b/src/common/md5calc.c @@ -2,7 +2,7 @@ * This file is part of Hercules. * http://herc.ws - http://github.com/HerculesWS/Hercules * - * Copyright (C) 2012-2015 Hercules Dev Team + * Copyright (C) 2012-2016 Hercules Dev Team * Copyright (C) Athena Dev Teams * * Hercules is free software: you can redistribute it and/or modify @@ -37,6 +37,9 @@ #include <stdlib.h> #include <string.h> +struct md5_interface md5_s; +struct md5_interface *md5; + // Global variable static unsigned int *pX; @@ -232,18 +235,12 @@ static void MD5_String2binary(const char * string, unsigned char * output) //------------------------------------------------------------------- // The function for the exteriors -/** output is the coded binary in the character sequence which wants to code string. */ -void MD5_Binary(const char * string, unsigned char * output) -{ - MD5_String2binary(string,output); -} - /** output is the coded character sequence in the character sequence which wants to code string. */ void MD5_String(const char *string, char *output) { unsigned char digest[16]; - MD5_String2binary(string,digest); + md5->binary(string,digest); snprintf(output, 33, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", digest[ 0], digest[ 1], digest[ 2], digest[ 3], digest[ 4], digest[ 5], digest[ 6], digest[ 7], @@ -259,3 +256,11 @@ void MD5_Salt(unsigned int len, char * output) output[i] = (char)(1 + rnd() % 255); } + +void md5_defaults(void) +{ + md5 = &md5_s; + md5->binary = MD5_String2binary; + md5->string = MD5_String; + md5->salt = MD5_Salt; +} diff --git a/src/common/md5calc.h b/src/common/md5calc.h index 0294c3ca1..1611b6fee 100644 --- a/src/common/md5calc.h +++ b/src/common/md5calc.h @@ -2,7 +2,7 @@ * This file is part of Hercules. * http://herc.ws - http://github.com/HerculesWS/Hercules * - * Copyright (C) 2012-2015 Hercules Dev Team + * Copyright (C) 2012-2016 Hercules Dev Team * Copyright (C) Athena Dev Teams * * Hercules is free software: you can redistribute it and/or modify @@ -21,10 +21,18 @@ #ifndef COMMON_MD5CALC_H #define COMMON_MD5CALC_H +#include "common/hercules.h" + +struct md5_interface { + void (*string) (const char *string, char *output); + void (*binary) (const char *string, unsigned char *output); + void (*salt) (unsigned int len, char *output); +}; + #ifdef HERCULES_CORE -void MD5_String(const char * string, char * output); -void MD5_Binary(const char * string, unsigned char * output); -void MD5_Salt(unsigned int len, char * output); +void md5_defaults(void); #endif // HERCULES_CORE +HPShared struct md5_interface *md5; + #endif /* COMMON_MD5CALC_H */ |