diff options
Diffstat (limited to 'ext/digest/md5')
-rw-r--r-- | ext/digest/md5/md5.c | 20 | ||||
-rw-r--r-- | ext/digest/md5/md5.h | 7 | ||||
-rw-r--r-- | ext/digest/md5/md5init.c | 3 | ||||
-rw-r--r-- | ext/digest/md5/md5ossl.c | 8 | ||||
-rw-r--r-- | ext/digest/md5/md5ossl.h | 2 |
5 files changed, 13 insertions, 27 deletions
diff --git a/ext/digest/md5/md5.c b/ext/digest/md5/md5.c index 6b61f031c4..8f49476a19 100644 --- a/ext/digest/md5/md5.c +++ b/ext/digest/md5/md5.c @@ -41,6 +41,12 @@ 1999-05-03 lpd Original version. */ +/* + This code was modified for use in Ruby. + + - Akinori MUSHA <knu@idaemons.org> + */ + /*$OrigId: md5c.c,v 1.2 2001/03/26 08:57:14 matz Exp $ */ /*$RoughId: md5.c,v 1.2 2001/07/13 19:48:41 knu Exp $ */ /*$Id$ */ @@ -391,7 +397,7 @@ MD5_Update(MD5_CTX *pms, const uint8_t *data, size_t nbytes) } void -MD5_Final(uint8_t *digest, MD5_CTX *pms) +MD5_Finish(MD5_CTX *pms, uint8_t *digest) { static const uint8_t pad[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -413,18 +419,6 @@ MD5_Final(uint8_t *digest, MD5_CTX *pms) digest[i] = (uint8_t)(pms->state[i >> 2] >> ((i & 3) << 3)); } -void -MD5_End(MD5_CTX *pctx, uint8_t *hexdigest) -{ - unsigned char digest[16]; - size_t i; - - MD5_Final(digest, pctx); - - for (i = 0; i < 16; i++) - sprintf(hexdigest + i * 2, "%02x", digest[i]); -} - 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 diff --git a/ext/digest/md5/md5.h b/ext/digest/md5/md5.h index fc41380d38..a5de6fd97e 100644 --- a/ext/digest/md5/md5.h +++ b/ext/digest/md5/md5.h @@ -63,17 +63,16 @@ typedef struct md5_state_s { } MD5_CTX; #ifdef RUBY +/* avoid name clash */ #define MD5_Init rb_Digest_MD5_Init #define MD5_Update rb_Digest_MD5_Update -#define MD5_Final rb_Digest_MD5_Final -#define MD5_End rb_Digest_MD5_End +#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_Final _((uint8_t *digest, MD5_CTX *pms)); -void MD5_End _((MD5_CTX *pctx, uint8_t *hexdigest)); +void MD5_Finish _((MD5_CTX *pms, uint8_t *digest)); int MD5_Equal _((MD5_CTX *pctx1, MD5_CTX *pctx2)); #define MD5_BLOCK_LENGTH 64 diff --git a/ext/digest/md5/md5init.c b/ext/digest/md5/md5init.c index 3de597dc89..5fddb21c65 100644 --- a/ext/digest/md5/md5init.c +++ b/ext/digest/md5/md5init.c @@ -13,8 +13,7 @@ static algo_t md5 = { sizeof(MD5_CTX), (hash_init_func_t)MD5_Init, (hash_update_func_t)MD5_Update, - (hash_end_func_t)MD5_End, - (hash_final_func_t)MD5_Final, + (hash_finish_func_t)MD5_Finish, (hash_equal_func_t)MD5_Equal, }; diff --git a/ext/digest/md5/md5ossl.c b/ext/digest/md5/md5ossl.c index d930c7ab51..963243c7c9 100644 --- a/ext/digest/md5/md5ossl.c +++ b/ext/digest/md5/md5ossl.c @@ -6,15 +6,9 @@ #include <string.h> void -MD5_End(MD5_CTX *pctx, unsigned char *hexdigest) +MD5_Finish(MD5_CTX *pctx, unsigned char *digest) { - unsigned char digest[16]; - size_t i; - MD5_Final(digest, pctx); - - for (i = 0; i < 16; i++) - sprintf(hexdigest + i * 2, "%02x", digest[i]); } int diff --git a/ext/digest/md5/md5ossl.h b/ext/digest/md5/md5ossl.h index 610f58db06..bccbe05f2a 100644 --- a/ext/digest/md5/md5ossl.h +++ b/ext/digest/md5/md5ossl.h @@ -6,7 +6,7 @@ #include <stddef.h> #include <openssl/md5.h> -void MD5_End(MD5_CTX *pctx, unsigned char *hexdigest); +void MD5_Finish(MD5_CTX *pctx, unsigned char *digest); int MD5_Equal(MD5_CTX *pctx1, MD5_CTX *pctx2); #endif |