diff options
author | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-10-05 11:09:42 +0000 |
---|---|---|
committer | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-10-05 11:09:42 +0000 |
commit | d2d9fa337599583ba531f5831a0bceedf7cd8b4e (patch) | |
tree | 817b68702a7f2cb4c7d71fdfde208355c5c76a76 /ext/digest/sha1 | |
parent | da628314a049b7511a4eaa632474b6ed90b53123 (diff) | |
download | ruby-d2d9fa337599583ba531f5831a0bceedf7cd8b4e.tar.gz ruby-d2d9fa337599583ba531f5831a0bceedf7cd8b4e.tar.xz ruby-d2d9fa337599583ba531f5831a0bceedf7cd8b4e.zip |
* ext/digest/digest.[ch]: Since the argument order of
hash_final_func_t was inconsistent with others, change it and
rename to hash_finish_func_t to avoid confusion.
* ext/digest/digest.[ch]: Remove and eliminate the use of
hash_end_func_t. Implement hexdigest conversion in the base
class.
* ext/digest/md5/md5.c, ext/digest/md5/md5.h,
ext/digest/md5/md5init.c, ext/digest/md5/md5ossl.c,
ext/digest/md5/md5ossl.h: Remove MD5_End() and change
MD5_Final() to MD5_Finish().
* ext/digest/rmd160/depend, ext/digest/rmd160/extconf.rb,
ext/digest/rmd160/rmd160.c, ext/digest/rmd160/rmd160.h,
ext/digest/rmd160/rmd160hl.c, ext/digest/rmd160/rmd160init.c,
ext/digest/rmd160/rmd160ossl.c, ext/digest/rmd160/rmd160ossl.h:
Remove unused functions RMD160_End(), RMD160_File(),
RMD160_Data() and change RMD160_Final() to RMD160_Finish().
* ext/digest/sha1/extconf.rb, ext/digest/sha1/sha1.c,
ext/digest/sha1/sha1.h, ext/digest/sha1/sha1hl.c,
ext/digest/sha1/sha1init.c, ext/digest/sha1/sha1ossl.c,
ext/digest/sha1/sha1ossl.h: Likewise.
* ext/digest/sha2/extconf.rb, ext/digest/sha2/sha2.c,
ext/digest/sha2/sha2.h, ext/digest/sha2/sha2hl.c,
ext/digest/sha2/sha2init.c: Likewise.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/digest/sha1')
-rw-r--r-- | ext/digest/sha1/extconf.rb | 2 | ||||
-rw-r--r-- | ext/digest/sha1/sha1.c | 16 | ||||
-rw-r--r-- | ext/digest/sha1/sha1.h | 15 | ||||
-rw-r--r-- | ext/digest/sha1/sha1hl.c | 102 | ||||
-rw-r--r-- | ext/digest/sha1/sha1init.c | 3 | ||||
-rw-r--r-- | ext/digest/sha1/sha1ossl.c | 32 | ||||
-rw-r--r-- | ext/digest/sha1/sha1ossl.h | 2 |
7 files changed, 16 insertions, 156 deletions
diff --git a/ext/digest/sha1/extconf.rb b/ext/digest/sha1/extconf.rb index d7b8126de..87b74c34a 100644 --- a/ext/digest/sha1/extconf.rb +++ b/ext/digest/sha1/extconf.rb @@ -14,7 +14,7 @@ if !with_config("bundled-sha1") && have_library("crypto") && have_header("openssl/sha.h") $objs << "sha1ossl.#{$OBJEXT}" else - $objs << "sha1.#{$OBJEXT}" << "sha1hl.#{$OBJEXT}" + $objs << "sha1.#{$OBJEXT}" end have_header("sys/cdefs.h") diff --git a/ext/digest/sha1/sha1.c b/ext/digest/sha1/sha1.c index 1012ef875..6545744be 100644 --- a/ext/digest/sha1/sha1.c +++ b/ext/digest/sha1/sha1.c @@ -129,9 +129,7 @@ do_R4(uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d, uint32_t *e, CHAR64LON /* * Hash a single 512-bit block. This is the core of the algorithm. */ -void SHA1_Transform(state, buffer) - uint32_t state[5]; - const uint8_t buffer[64]; +void SHA1_Transform(uint32_t state[5], const uint8_t buffer[64]) { uint32_t a, b, c, d, e; CHAR64LONG16 *block; @@ -201,8 +199,7 @@ void SHA1_Transform(state, buffer) /* * SHA1_Init - Initialize new context */ -void SHA1_Init(context) - SHA1_CTX *context; +void SHA1_Init(SHA1_CTX *context) { _DIAGASSERT(context != 0); @@ -220,10 +217,7 @@ void SHA1_Init(context) /* * Run your data through this. */ -void SHA1_Update(context, data, len) - SHA1_CTX *context; - const uint8_t *data; - size_t len; +void SHA1_Update(SHA1_CTX *context, const uint8_t *data, size_t len) { uint32_t i, j; @@ -250,9 +244,7 @@ void SHA1_Update(context, data, len) /* * Add padding and return the message digest. */ -void SHA1_Final(digest, context) - uint8_t digest[20]; - SHA1_CTX* context; +void SHA1_Finish(SHA1_CTX* context, uint8_t digest[20]) { size_t i; uint8_t finalcount[8]; diff --git a/ext/digest/sha1/sha1.h b/ext/digest/sha1/sha1.h index 2303cecc2..c9f84562f 100644 --- a/ext/digest/sha1/sha1.h +++ b/ext/digest/sha1/sha1.h @@ -20,28 +20,19 @@ typedef struct { } SHA1_CTX; #ifdef RUBY +/* avoid name clash */ #define SHA1_Transform rb_Digest_SHA1_Transform #define SHA1_Init rb_Digest_SHA1_Init #define SHA1_Update rb_Digest_SHA1_Update -#define SHA1_Final rb_Digest_SHA1_Final +#define SHA1_Finish rb_Digest_SHA1_Finish #define SHA1_Equal rb_Digest_SHA1_Equal -#ifndef _KERNEL -#define SHA1_End rb_Digest_SHA1_End -#define SHA1_File rb_Digest_SHA1_File -#define SHA1_Data rb_Digest_SHA1_Data -#endif /* _KERNEL */ #endif void SHA1_Transform _((uint32_t state[5], const uint8_t buffer[64])); void SHA1_Init _((SHA1_CTX *context)); void SHA1_Update _((SHA1_CTX *context, const uint8_t *data, size_t len)); -void SHA1_Final _((uint8_t digest[20], SHA1_CTX *context)); +void SHA1_Finish _((SHA1_CTX *context, uint8_t digest[20])); int SHA1_Equal _((SHA1_CTX *pctx1, SHA1_CTX *pctx2)); -#ifndef _KERNEL -char *SHA1_End _((SHA1_CTX *, char *)); -char *SHA1_File _((char *, char *)); -char *SHA1_Data _((const uint8_t *, size_t, char *)); -#endif /* _KERNEL */ #define SHA1_BLOCK_LENGTH 64 #define SHA1_DIGEST_LENGTH 20 diff --git a/ext/digest/sha1/sha1hl.c b/ext/digest/sha1/sha1hl.c deleted file mode 100644 index d1a236b22..000000000 --- a/ext/digest/sha1/sha1hl.c +++ /dev/null @@ -1,102 +0,0 @@ -/* $NetBSD: sha1hl.c,v 1.2 2001/03/10 15:55:14 tron Exp $ */ -/* $RoughId: sha1hl.c,v 1.2 2001/07/13 19:49:10 knu Exp $ */ -/* $Id$ */ - -/* sha1hl.c - * ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * <phk@login.dkuug.dk> wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp - * ---------------------------------------------------------------------------- - */ - -/* #include "namespace.h" */ - -#include "sha1.h" -#include <fcntl.h> - -#include <assert.h> -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#if defined(HAVE_UNISTD_H) -# include <unistd.h> -#endif - -#if defined(LIBC_SCCS) && !defined(lint) -/* __RCSID("$NetBSD: sha1hl.c,v 1.2 2001/03/10 15:55:14 tron Exp $"); */ -#endif /* LIBC_SCCS and not lint */ - -#ifndef _DIAGASSERT -#define _DIAGASSERT(cond) assert(cond) -#endif - - -/* ARGSUSED */ -char * -SHA1_End(ctx, buf) - SHA1_CTX *ctx; - char *buf; -{ - int i; - char *p = buf; - uint8_t digest[20]; - static const char hex[]="0123456789abcdef"; - - _DIAGASSERT(ctx != NULL); - /* buf may be NULL */ - - if (p == NULL && (p = malloc(41)) == NULL) - return 0; - - SHA1_Final(digest,ctx); - for (i = 0; i < 20; i++) { - p[i + i] = hex[((uint32_t)digest[i]) >> 4]; - p[i + i + 1] = hex[digest[i] & 0x0f]; - } - p[i + i] = '\0'; - return(p); -} - -char * -SHA1_File (filename, buf) - char *filename; - char *buf; -{ - uint8_t buffer[BUFSIZ]; - SHA1_CTX ctx; - int fd, num, oerrno; - - _DIAGASSERT(filename != NULL); - /* XXX: buf may be NULL ? */ - - SHA1_Init(&ctx); - - if ((fd = open(filename,O_RDONLY)) < 0) - return(0); - - while ((num = read(fd, buffer, sizeof(buffer))) > 0) - SHA1_Update(&ctx, buffer, (size_t)num); - - oerrno = errno; - close(fd); - errno = oerrno; - return(num < 0 ? 0 : SHA1_End(&ctx, buf)); -} - -char * -SHA1_Data (data, len, buf) - const uint8_t *data; - size_t len; - char *buf; -{ - SHA1_CTX ctx; - - _DIAGASSERT(data != NULL); - /* XXX: buf may be NULL ? */ - - SHA1_Init(&ctx); - SHA1_Update(&ctx, data, len); - return(SHA1_End(&ctx, buf)); -} diff --git a/ext/digest/sha1/sha1init.c b/ext/digest/sha1/sha1init.c index 304a26689..a704dcbfd 100644 --- a/ext/digest/sha1/sha1init.c +++ b/ext/digest/sha1/sha1init.c @@ -13,8 +13,7 @@ static algo_t sha1 = { sizeof(SHA1_CTX), (hash_init_func_t)SHA1_Init, (hash_update_func_t)SHA1_Update, - (hash_end_func_t)SHA1_End, - (hash_final_func_t)SHA1_Final, + (hash_finish_func_t)SHA1_Finish, (hash_equal_func_t)SHA1_Equal, }; diff --git a/ext/digest/sha1/sha1ossl.c b/ext/digest/sha1/sha1ossl.c index 82a4f6f05..96365c797 100644 --- a/ext/digest/sha1/sha1ossl.c +++ b/ext/digest/sha1/sha1ossl.c @@ -2,37 +2,17 @@ #include "defs.h" #include "sha1ossl.h" -#include <assert.h> #include <stdlib.h> -#ifndef _DIAGASSERT -#define _DIAGASSERT(cond) assert(cond) -#endif - -char * -SHA1_End(SHA1_CTX *ctx, char *buf) +void +SHA1_Finish(SHA1_CTX *ctx, char *buf) { - int i; - char *p = buf; - uint8_t digest[20]; - static const char hex[]="0123456789abcdef"; - - _DIAGASSERT(ctx != NULL); - /* buf may be NULL */ - - if (p == NULL && (p = malloc(41)) == NULL) - return 0; - - SHA1_Final(digest,ctx); - for (i = 0; i < 20; i++) { - p[i + i] = hex[((uint32_t)digest[i]) >> 4]; - p[i + i + 1] = hex[digest[i] & 0x0f]; - } - p[i + i] = '\0'; - return(p); + SHA1_Final(buf, ctx); } -int SHA1_Equal(SHA1_CTX* pctx1, SHA1_CTX* pctx2) { +int +SHA1_Equal(SHA1_CTX* pctx1, SHA1_CTX* pctx2) +{ return pctx1->num == pctx2->num && pctx1->h0 == pctx2->h0 && pctx1->h1 == pctx2->h1 diff --git a/ext/digest/sha1/sha1ossl.h b/ext/digest/sha1/sha1ossl.h index c271cc47c..c2e19d66e 100644 --- a/ext/digest/sha1/sha1ossl.h +++ b/ext/digest/sha1/sha1ossl.h @@ -11,7 +11,7 @@ #define SHA1_BLOCK_LENGTH SHA_BLOCK_LENGTH #define SHA1_DIGEST_LENGTH SHA_DIGEST_LENGTH -char *SHA1_End(SHA1_CTX *ctx, char *buf); +void SHA1_Finish(SHA1_CTX *ctx, char *buf); int SHA1_Equal(SHA1_CTX *pctx1, SHA1_CTX *pctx2); #endif |