diff options
author | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-10-10 05:01:33 +0000 |
---|---|---|
committer | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-10-10 05:01:33 +0000 |
commit | 9b2fa26be45b051ebdfc2cf06a13aff0caf58c00 (patch) | |
tree | 8818dd11554f69d2861cd20e9396b6227d976453 /ext/digest/md5 | |
parent | 6d83e40c327df4fbd3214815022ab66a215ce995 (diff) |
* ext/digest: Merge from trunk; apply all changes since the
initial import, except for the removal of compatibility stub
libraries (md5.rb and sha1.rb).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/digest/md5')
-rw-r--r-- | ext/digest/md5/extconf.rb | 2 | ||||
-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 | 5 | ||||
-rw-r--r-- | ext/digest/md5/md5ossl.c | 8 | ||||
-rw-r--r-- | ext/digest/md5/md5ossl.h | 2 |
6 files changed, 16 insertions, 28 deletions
diff --git a/ext/digest/md5/extconf.rb b/ext/digest/md5/extconf.rb index 9819241184..018f8ccb02 100644 --- a/ext/digest/md5/extconf.rb +++ b/ext/digest/md5/extconf.rb @@ -24,4 +24,6 @@ have_header("inttypes.h") have_header("unistd.h") +$preload = %w[digest] + create_makefile("digest/md5") 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 2acca16a46..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, }; @@ -23,7 +22,7 @@ Init_md5() { VALUE mDigest, cDigest_Base, cDigest_MD5; - rb_require("digest.so"); + rb_require("digest"); mDigest = rb_path2class("Digest"); cDigest_Base = rb_path2class("Digest::Base"); 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 |