diff options
Diffstat (limited to 'ext/digest/rmd160')
-rw-r--r-- | ext/digest/rmd160/depend | 2 | ||||
-rw-r--r-- | ext/digest/rmd160/extconf.rb | 4 | ||||
-rw-r--r-- | ext/digest/rmd160/rmd160.c | 2 | ||||
-rw-r--r-- | ext/digest/rmd160/rmd160.h | 14 | ||||
-rw-r--r-- | ext/digest/rmd160/rmd160hl.c | 96 | ||||
-rw-r--r-- | ext/digest/rmd160/rmd160init.c | 5 | ||||
-rw-r--r-- | ext/digest/rmd160/rmd160ossl.c | 27 | ||||
-rw-r--r-- | ext/digest/rmd160/rmd160ossl.h | 3 |
8 files changed, 11 insertions, 142 deletions
diff --git a/ext/digest/rmd160/depend b/ext/digest/rmd160/depend index 0ca79c5f40..a21d7188dc 100644 --- a/ext/digest/rmd160/depend +++ b/ext/digest/rmd160/depend @@ -1,7 +1,5 @@ rmd160.o: rmd160.c rmd160.h $(srcdir)/../defs.h $(hdrdir)/ruby.h \ $(topdir)/config.h $(hdrdir)/defines.h $(hdrdir)/intern.h -rmd160hl.o: rmd160hl.c rmd160.h $(srcdir)/../defs.h $(hdrdir)/ruby.h \ - $(topdir)/config.h $(hdrdir)/defines.h $(hdrdir)/intern.h rmd160init.o: rmd160init.c $(srcdir)/../digest.h $(hdrdir)/ruby.h \ $(topdir)/config.h $(hdrdir)/defines.h $(hdrdir)/intern.h \ rmd160.h $(srcdir)/../defs.h diff --git a/ext/digest/rmd160/extconf.rb b/ext/digest/rmd160/extconf.rb index 9358dbd09e..09359944f2 100644 --- a/ext/digest/rmd160/extconf.rb +++ b/ext/digest/rmd160/extconf.rb @@ -14,7 +14,7 @@ if !with_config("bundled-rmd160") && have_library("crypto") && have_header("openssl/ripemd.h") $objs << "rmd160ossl.#{$OBJEXT}" else - $objs << "rmd160.#{$OBJEXT}" << "rmd160hl.#{$OBJEXT}" + $objs << "rmd160.#{$OBJEXT}" end have_header("sys/cdefs.h") @@ -23,4 +23,6 @@ have_header("inttypes.h") have_header("unistd.h") +$preload = %w[digest] + create_makefile("digest/rmd160") diff --git a/ext/digest/rmd160/rmd160.c b/ext/digest/rmd160/rmd160.c index 2de3c99b29..64ec0fb427 100644 --- a/ext/digest/rmd160/rmd160.c +++ b/ext/digest/rmd160/rmd160.c @@ -409,7 +409,7 @@ RMD160_Update(RMD160_CTX *context, const uint8_t *data, size_t nbytes) /********************************************************************/ void -RMD160_Final(uint8_t digest[20], RMD160_CTX *context) +RMD160_Finish(RMD160_CTX *context, uint8_t digest[20]) { uint32_t i; uint32_t X[16]; diff --git a/ext/digest/rmd160/rmd160.h b/ext/digest/rmd160/rmd160.h index 24f9a025f0..ac52fb0ec3 100644 --- a/ext/digest/rmd160/rmd160.h +++ b/ext/digest/rmd160/rmd160.h @@ -39,26 +39,16 @@ typedef struct { #define RMD160_Init rb_Digest_RMD160_Init #define RMD160_Transform rb_Digest_RMD160_Transform #define RMD160_Update rb_Digest_RMD160_Update -#define RMD160_Final rb_Digest_RMD160_Final +#define RMD160_Finish rb_Digest_RMD160_Finish #define RMD160_Equal rb_Digest_RMD160_Equal -#ifndef _KERNEL -#define RMD160_End rb_Digest_RMD160_End -#define RMD160_File rb_Digest_RMD160_File -#define RMD160_Data rb_Digest_RMD160_Data -#endif /* _KERNEL */ #endif __BEGIN_DECLS void RMD160_Init _((RMD160_CTX *)); void RMD160_Transform _((uint32_t[5], const uint32_t[16])); void RMD160_Update _((RMD160_CTX *, const uint8_t *, size_t)); -void RMD160_Final _((uint8_t[20], RMD160_CTX *)); +void RMD160_Finish _((RMD160_CTX *, uint8_t[20])); int RMD160_Equal _((RMD160_CTX *, RMD160_CTX *)); -#ifndef _KERNEL -char *RMD160_End _((RMD160_CTX *, char *)); -char *RMD160_File _((char *, char *)); -char *RMD160_Data _((const uint8_t *, size_t, char *)); -#endif /* _KERNEL */ __END_DECLS #define RMD160_BLOCK_LENGTH 64 diff --git a/ext/digest/rmd160/rmd160hl.c b/ext/digest/rmd160/rmd160hl.c deleted file mode 100644 index 4c5e0217d9..0000000000 --- a/ext/digest/rmd160/rmd160hl.c +++ /dev/null @@ -1,96 +0,0 @@ -/* $NetBSD: rmd160hl.c,v 1.1.1.1 2001/03/06 11:21:05 agc Exp $ */ -/* $RoughId: rmd160hl.c,v 1.2 2001/07/13 19:49:10 knu Exp $ */ -/* $Id$ */ - -/* rmd160hl.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 - * ---------------------------------------------------------------------------- - * - * from OpenBSD: rmd160hl.c,v 1.2 1999/08/17 09:13:12 millert Exp $ - */ - -#include "rmd160.h" - -#ifndef lint -/* __RCSID("$NetBSD: rmd160hl.c,v 1.1.1.1 2001/03/06 11:21:05 agc Exp $"); */ -#endif /* not lint */ - -/* #include "namespace.h" */ - -#include <assert.h> -#include <errno.h> -#include <fcntl.h> -#include <stdio.h> -#include <stdlib.h> -#if defined(HAVE_UNISTD_H) -# include <unistd.h> -#endif - -#ifndef _DIAGASSERT -#define _DIAGASSERT(cond) assert(cond) -#endif - - -char * -RMD160_End(RMD160_CTX *ctx, char *buf) -{ - size_t 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; - - RMD160_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 * -RMD160_File(char *filename, char *buf) -{ - uint8_t buffer[BUFSIZ]; - RMD160_CTX ctx; - int fd, num, oerrno; - - _DIAGASSERT(filename != NULL); - /* XXX: buf may be NULL ? */ - - RMD160_Init(&ctx); - - if ((fd = open(filename, O_RDONLY)) < 0) - return(0); - - while ((num = read(fd, buffer, sizeof(buffer))) > 0) - RMD160_Update(&ctx, buffer, (size_t)num); - - oerrno = errno; - close(fd); - errno = oerrno; - return(num < 0 ? 0 : RMD160_End(&ctx, buf)); -} - -char * -RMD160_Data(const uint8_t *data, size_t len, char *buf) -{ - RMD160_CTX ctx; - - _DIAGASSERT(data != NULL); - /* XXX: buf may be NULL ? */ - - RMD160_Init(&ctx); - RMD160_Update(&ctx, data, len); - return(RMD160_End(&ctx, buf)); -} diff --git a/ext/digest/rmd160/rmd160init.c b/ext/digest/rmd160/rmd160init.c index b16cdbbed8..b56211f8c7 100644 --- a/ext/digest/rmd160/rmd160init.c +++ b/ext/digest/rmd160/rmd160init.c @@ -13,8 +13,7 @@ static algo_t rmd160 = { sizeof(RMD160_CTX), (hash_init_func_t)RMD160_Init, (hash_update_func_t)RMD160_Update, - (hash_end_func_t)RMD160_End, - (hash_final_func_t)RMD160_Final, + (hash_finish_func_t)RMD160_Finish, (hash_equal_func_t)RMD160_Equal, }; @@ -24,7 +23,7 @@ Init_rmd160() VALUE mDigest, cDigest_Base, cDigest_RMD160; ID id_metadata; - rb_require("digest.so"); + rb_require("digest"); mDigest = rb_path2class("Digest"); cDigest_Base = rb_path2class("Digest::Base"); diff --git a/ext/digest/rmd160/rmd160ossl.c b/ext/digest/rmd160/rmd160ossl.c index 2989ffd00e..247fd04afd 100644 --- a/ext/digest/rmd160/rmd160ossl.c +++ b/ext/digest/rmd160/rmd160ossl.c @@ -5,31 +5,8 @@ #include <assert.h> #include <stdlib.h> -#ifndef _DIAGASSERT -#define _DIAGASSERT(cond) assert(cond) -#endif - -char * -RMD160_End(RMD160_CTX *ctx, char *buf) -{ - size_t 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; - - RMD160_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); +void RMD160_Finish(RMD160_CTX *ctx, char *buf) { + RIPEMD160_Final(buf, ctx); } int RMD160_Equal(RMD160_CTX* pctx1, RMD160_CTX* pctx2) { diff --git a/ext/digest/rmd160/rmd160ossl.h b/ext/digest/rmd160/rmd160ossl.h index e8928d164b..ea6bd57cc6 100644 --- a/ext/digest/rmd160/rmd160ossl.h +++ b/ext/digest/rmd160/rmd160ossl.h @@ -10,12 +10,11 @@ #define RMD160_Init RIPEMD160_Init #define RMD160_Update RIPEMD160_Update -#define RMD160_Final RIPEMD160_Final #define RMD160_BLOCK_LENGTH RIPEMD160_CBLOCK #define RMD160_DIGEST_LENGTH RIPEMD160_DIGEST_LENGTH -char *RMD160_End(RMD160_CTX *ctx, char *buf); +void RMD160_Finish(RMD160_CTX *ctx, char *buf); int RMD160_Equal(RMD160_CTX *pctx1, RMD160_CTX *pctx2); #endif |