diff options
Diffstat (limited to 'ext/digest/md5')
-rw-r--r-- | ext/digest/md5/md5.c | 6 | ||||
-rw-r--r-- | ext/digest/md5/md5.h | 2 | ||||
-rw-r--r-- | ext/digest/md5/md5init.c | 8 | ||||
-rw-r--r-- | ext/digest/md5/md5ossl.c | 15 | ||||
-rw-r--r-- | ext/digest/md5/md5ossl.h | 3 |
5 files changed, 7 insertions, 27 deletions
diff --git a/ext/digest/md5/md5.c b/ext/digest/md5/md5.c index 8f49476a19..993bc47a06 100644 --- a/ext/digest/md5/md5.c +++ b/ext/digest/md5/md5.c @@ -418,9 +418,3 @@ MD5_Finish(MD5_CTX *pms, uint8_t *digest) for (i = 0; i < 16; ++i) digest[i] = (uint8_t)(pms->state[i >> 2] >> ((i & 3) << 3)); } - -int MD5_Equal(MD5_CTX* pctx1, MD5_CTX* pctx2) { - return memcmp(pctx1->count, pctx2->count, sizeof(pctx1->count)) == 0 - && memcmp(pctx1->state, pctx2->state, sizeof(pctx1->state)) == 0 - && memcmp(pctx1->buffer, pctx2->buffer, sizeof(pctx1->buffer)) == 0; -} diff --git a/ext/digest/md5/md5.h b/ext/digest/md5/md5.h index a5de6fd97e..f4580ef5e7 100644 --- a/ext/digest/md5/md5.h +++ b/ext/digest/md5/md5.h @@ -67,13 +67,11 @@ typedef struct md5_state_s { #define MD5_Init rb_Digest_MD5_Init #define MD5_Update rb_Digest_MD5_Update #define MD5_Finish rb_Digest_MD5_Finish -#define MD5_Equal rb_Digest_MD5_Equal #endif void MD5_Init _((MD5_CTX *pms)); void MD5_Update _((MD5_CTX *pms, const uint8_t *data, size_t nbytes)); void MD5_Finish _((MD5_CTX *pms, uint8_t *digest)); -int MD5_Equal _((MD5_CTX *pctx1, MD5_CTX *pctx2)); #define MD5_BLOCK_LENGTH 64 #define MD5_DIGEST_LENGTH 16 diff --git a/ext/digest/md5/md5init.c b/ext/digest/md5/md5init.c index 5fddb21c65..6fdf6e0a26 100644 --- a/ext/digest/md5/md5init.c +++ b/ext/digest/md5/md5init.c @@ -14,7 +14,6 @@ static algo_t md5 = { (hash_init_func_t)MD5_Init, (hash_update_func_t)MD5_Update, (hash_finish_func_t)MD5_Finish, - (hash_equal_func_t)MD5_Equal, }; void @@ -29,6 +28,9 @@ Init_md5() cDigest_MD5 = rb_define_class_under(mDigest, "MD5", cDigest_Base); - rb_cvar_set(cDigest_MD5, rb_intern("metadata"), - Data_Wrap_Struct(rb_cObject, 0, 0, &md5), Qtrue); + rb_define_const(cDigest_MD5, "DIGEST_LENGTH", INT2NUM(MD5_DIGEST_LENGTH)); + rb_define_const(cDigest_MD5, "BLOCK_LENGTH", INT2NUM(MD5_BLOCK_LENGTH)); + + rb_ivar_set(cDigest_MD5, rb_intern("metadata"), + Data_Wrap_Struct(rb_cObject, 0, 0, &md5)); } diff --git a/ext/digest/md5/md5ossl.c b/ext/digest/md5/md5ossl.c index 963243c7c9..d94ae2cd2f 100644 --- a/ext/digest/md5/md5ossl.c +++ b/ext/digest/md5/md5ossl.c @@ -1,24 +1,9 @@ /* $Id$ */ #include "md5ossl.h" -#include <sys/types.h> -#include <stdio.h> -#include <string.h> void MD5_Finish(MD5_CTX *pctx, unsigned char *digest) { MD5_Final(digest, pctx); } - -int -MD5_Equal(MD5_CTX* pctx1, MD5_CTX* pctx2) { - return pctx1->num == pctx2->num - && pctx1->A == pctx2->A - && pctx1->B == pctx2->B - && pctx1->C == pctx2->C - && pctx1->D == pctx2->D - && pctx1->Nl == pctx2->Nl - && pctx1->Nh == pctx2->Nh - && memcmp(pctx1->data, pctx2->data, sizeof(pctx1->data)) == 0; -} diff --git a/ext/digest/md5/md5ossl.h b/ext/digest/md5/md5ossl.h index bccbe05f2a..1680c4f5c9 100644 --- a/ext/digest/md5/md5ossl.h +++ b/ext/digest/md5/md5ossl.h @@ -6,7 +6,8 @@ #include <stddef.h> #include <openssl/md5.h> +#define MD5_BLOCK_LENGTH MD5_CBLOCK + void MD5_Finish(MD5_CTX *pctx, unsigned char *digest); -int MD5_Equal(MD5_CTX *pctx1, MD5_CTX *pctx2); #endif |